GPURenderPassEncoder: setScissorRect() 方法
注意:此功能在 Web Workers 中可用。
GPURenderPassEncoder 介面的 setScissorRect() 方法用於設定光柵化階段使用的剪裁矩形。轉換成視口座標後,落入剪裁矩形外的任何片段都將被丟棄。
語法
js
setScissorRect(x, y, width, height)
引數
x-
一個數字,表示剪裁矩形的最小 X 值(以畫素為單位)。
y-
一個數字,表示剪裁矩形的最小 Y 值(以畫素為單位)。
width-
一個數字,表示剪裁矩形的寬度(以畫素為單位)。
height-
一個數字,表示剪裁矩形的高度(以畫素為單位)。
注意: 如果沒有呼叫 setScissorRect(),則每個渲染通道的預設值為 (0, 0, attachment width, attachment height)。
返回值
無 (Undefined)。
驗證
呼叫 setViewport() 時必須滿足以下標準,否則會生成 GPUValidationError,並且 GPURenderPassEncoder 會失效
x+width小於或等於渲染通道的渲染附件的寬度(見下文說明)。y+height小於或等於渲染通道的渲染附件的高度(見下文說明)。
注意: 請參閱 GPUCommandEncoder.beginRenderPass() 描述符中指定的顏色和深度/模板附件;寬度和高度基於它們 view 源自的 GPUTexture 的寬度和高度。
示例
基本程式碼片段
在典型的畫布渲染中,以下程式碼可用於丟棄畫布左上角四分之一區域之外的任何渲染
js
passEncoder.setScissorRect(0, 0, canvas.width / 2, canvas.height / 2);
規範
| 規範 |
|---|
| WebGPU # dom-gpurenderpassencoder-setscissorrect |
瀏覽器相容性
載入中…