GPURenderPipeline
注意:此功能在 Web Workers 中可用。
GPURenderPipeline 介面是 WebGPU API 的一部分,它代表一個控制頂點和片段著色器階段的管線,可用於 GPURenderPassEncoder 或 GPURenderBundleEncoder。
GPURenderPipeline 物件例項可以透過 GPUDevice.createRenderPipeline() 或 GPUDevice.createRenderPipelineAsync() 方法建立。
例項屬性
例項方法
getBindGroupLayout()-
返回具有給定索引的管線的
GPUBindGroupLayout物件(即,包含在原始的GPUDevice.createRenderPipeline()或GPUDevice.createRenderPipelineAsync()呼叫中的管線佈局)。
示例
注意:WebGPU 示例 提供了更多示例。
基本示例
我們的 基本渲染演示 提供了一個構建有效渲染管線描述符物件的示例,然後透過呼叫 createRenderPipeline() 來建立 GPURenderPipeline。
js
// …
const vertexBuffers = [
{
attributes: [
{
shaderLocation: 0, // position
offset: 0,
format: "float32x4",
},
{
shaderLocation: 1, // color
offset: 16,
format: "float32x4",
},
],
arrayStride: 32,
stepMode: "vertex",
},
];
const pipelineDescriptor = {
vertex: {
module: shaderModule,
entryPoint: "vertex_main",
buffers: vertexBuffers,
},
fragment: {
module: shaderModule,
entryPoint: "fragment_main",
targets: [
{
format: navigator.gpu.getPreferredCanvasFormat(),
},
],
},
primitive: {
topology: "triangle-list",
},
layout: "auto",
};
const renderPipeline = device.createRenderPipeline(pipelineDescriptor);
// …
規範
| 規範 |
|---|
| WebGPU # gpurenderpipeline |
瀏覽器相容性
載入中…