当前位置: 首页 > news >正文

整站seo服务广西智能网站建设制作

整站seo服务,广西智能网站建设制作,抖音代运营创业,宁德市城乡建设局网站RenderBundle是什么 通常情况下,WebGPU每次绘制时都需要向RenderPassEncoder注册渲染命令。处理此绘图命令比 WebGL 内部执行的类似处理更快。但是,如果可以省略此命令注册过程,则可以能够更快地绘制。RenderBundle 就是实现这一点的。 Ren…

RenderBundle是什么

通常情况下,WebGPU每次绘制时都需要向RenderPassEncoder注册渲染命令。处理此绘图命令比 WebGL 内部执行的类似处理更快。但是,如果可以省略此命令注册过程,则可以能够更快地绘制。RenderBundle 就是实现这一点的。

RenderBundle 允许预先注册的绘图命令稍后重用。 命令可以重复使用,这减少了为每个绘制调用注册命令的成本。

由于注册的绘图命令在内部被转换为GPU可以理解的命令格式, 比绘制时每次都用RenderPassEncoder进行转换效率更高。

程序实现

1. 创建RenderBundle

首先,使用devicecreateRenderBundleEncoder函数创建一个RenderBundleEncoder。 此时用作参数的描述符是一个名为 GPURenderBundleDescriptor 的类型, 注意创建RenderPassEncoder时与GPURenderPassDescriptor不同。

该描述符有一个名为 colorFormats 的属性,用来指定纹理格式。 由于这次我们要渲染到 Canvas,因此我们将使用 navigator.gpu.getPreferredCanvasFormat() 的值。

function buildRenderBundle(pipeline: GPURenderPipeline): void {const presentationFormat = navigator.gpu.getPreferredCanvasFormat();const renderBundleDescriptor: GPURenderBundleDescriptor = {colorFormats:[presentationFormat],};const encoder = g_device.createRenderBundleEncoder(renderBundleDescriptor);encoder.setPipeline(pipeline);encoder.draw(3, 1, 0, 0);g_renderBundle = encoder.finish();
}

创建 RenderBundleEncoder 后,像注册 RenderPassEncoder 一样注册绘图命令。

完成后,调用 finish() (而不是像 RenderPassEncoder 中那样的 end())。 这个 finish() 函数返回一个 RenderBundle 对象。

2. 使用RenderBundle进行绘制

接下来使用 RenderBundle 进行绘制。照常使用 createCommandEncoderbeginRenderPass 函数, 创建一个 RenderPassEncoder。

这个RenderPassEncoder有一个函数叫executeBundles(),RenderBundle以数组的形式传递给这个函数。

  const commandEncoder = g_device.createCommandEncoder();const textureView = context.getCurrentTexture().createView();const renderPassDescriptor: GPURenderPassDescriptor = {colorAttachments: [{view: textureView,clearValue: { r: 0.0, g: 0.0, b: 0.0, a: 1.0 },loadOp: 'clear',storeOp: 'store',},],};const passEncoder = commandEncoder.beginRenderPass(renderPassDescriptor);passEncoder.executeBundles([g_renderBundle]);passEncoder.end();g_device.queue.submit([commandEncoder.finish()]);

结果

在线示例查看。

http://www.yayakq.cn/news/655636/

相关文章:

  • 晋江做任务的网站文创产品设计分析
  • 在网站后台备案号怎么改苏州知名高端网站建设网络公司
  • 舟山城乡建设培训中心网站东营市建设工程信息网
  • 腾讯云建站流程一级建造师找工作网站
  • 企业网站建设原因seo和sem是什么
  • 有自己的域名怎么建立网站网站建设的重点难点
  • 建设银行网站的支付流程长春小学网站建设
  • 网站空间怎么选择企业网站建设能解决什么问题
  • 网站页面设计内容做动图为所欲为的网站
  • 个商个体户可以建设网站不网站正在维护模板
  • 网站开发部门叫什么win7下使用wordpress
  • 什么是网站的用户体验网站换关键词
  • 手机网站公司国内著名网站建设公司
  • 辽宁网站建设哪里好找互联网站建设维护有关岗位
  • 一个服务器可以放多少网站网页设计代码如何写实训报告过程
  • 在手机上创建网站洞头住建局网站
  • 网站首页模板下载网络营销的期末试题及答案
  • 网站未备案wordpress链接100部看黄禁用免费在线
  • iis7搭建网站企业网站案例公司
  • 广州企业网站公司用vue做网站的实例
  • 下列关于网站开发中网页发布国外主流网站开发技术
  • 电子商务网站服务器做调查网站怎样换IP
  • 吉林省建设厅网站市政建设个人简历自我介绍200字
  • 网站建设实训报告wordpress图片清理
  • 十大免费文案网站网站正在建设亚洲
  • 官方网站内容更新需要怎么做哪里有软件开发培训机构
  • 电子商务网站建设与运营 说课福永招聘网站建设
  • 网站是哪个公司做的兰州市住房和城乡建设局网站
  • 方圆网站建设孝感做网站xgsh
  • 给网站做翻译建设工程规范发布网站