GPURenderBundleEncoder: drawIndexed() 方法
drawIndexed()
方法是 GPURenderBundleEncoder
接口的方法,用于根据 setVertexBuffer()
和 setIndexBuffer()
提供的顶点和索引缓冲区绘制索引基元。
注意: 此方法在功能上与 GPURenderPassEncoder
上的等效方法 (drawIndexed()
) 相同。
语法
js
drawIndexed(indexCount)
drawIndexed(indexCount, instanceCount)
drawIndexed(indexCount, instanceCount, firstIndex)
drawIndexed(indexCount, instanceCount, firstIndex, baseVertex)
drawIndexed(indexCount, instanceCount, firstIndex, baseVertex, firstInstance)
参数
indexCount
-
一个数字,定义要绘制的索引数量。
instanceCount
可选-
一个数字,定义要绘制的实例数量。如果省略,
instanceCount
默认值为 1。 firstIndex
可选-
一个数字,定义索引缓冲区中的偏移量(以索引为单位),从该偏移量开始绘制。如果省略,
firstIndex
默认值为 0。 baseVertex
可选-
在索引顶点缓冲区之前,添加到每个索引值中的一个数字。如果省略,
baseVertex
默认为 0。 firstInstance
可选-
定义要绘制的第一个实例的数字。如果省略,
firstInstance
默认为 0。
返回值
无 (未定义
).
示例
js
// ...
const bundleEncoder = device.createRenderBundleEncoder(descriptor);
bundleEncoder.setPipeline(pipeline);
bundleEncoder.setBindGroup(0, sceneBindGroupForRender);
bundleEncoder.setBindGroup(1, modelBindGroup);
bundleEncoder.setVertexBuffer(0, vertexBuffer);
bundleEncoder.setIndexBuffer(indexBuffer, "uint16");
bundleEncoder.drawIndexed(indexCount);
const renderBundle = bundleEncoder.finish();
// ...
规范
规范 |
---|
WebGPU # dom-gpurendercommandsmixin-drawindexed |
浏览器兼容性
BCD 表仅在浏览器中加载
参见
- The WebGPU API