GPURenderBundleEncoder: finish() 方法
注意:此功能在 Web Workers 中可用。
GPURenderBundleEncoder 接口的 finish() 方法会完成当前渲染 bundle 命令序列的录制,返回一个可以传递给 GPURenderPassEncoder.executeBundles() 调用以在特定渲染通道中执行这些命令的 GPURenderBundle 对象。
语法
js
finish(descriptor)
参数
descriptor可选-
包含以下属性的对象:
返回值
一个 GPURenderBundle 对象实例。
验证
调用 finish() 时必须满足以下条件,否则会生成一个 GPUValidationError,并且 GPURenderBundleEncoder 会失效
GPURenderBundleEncoder处于打开状态(即,尚未通过finish()调用结束)。- 当前渲染通道的调试堆栈为空(即,没有当前打开的渲染通道调试组,如通过
pushDebugGroup()打开的)。
示例
js
const renderBundleEncoder = device.createRenderBundleEncoder({
colorFormats: [presentationFormat],
});
recordRenderPass(renderBundleEncoder);
const renderBundle = renderBundleEncoder.finish();
上面的代码片段摘自 WebGPU 示例 Animometer 示例。
规范
| 规范 |
|---|
| WebGPU # dom-gpurenderbundleencoder-finish |
浏览器兼容性
加载中…