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 |
浏览器兼容性
加载中…