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

软件工程 旅游网站开发er图做翻译网站 知乎

软件工程 旅游网站开发er图,做翻译网站 知乎,网站效果图模板,阿里云域名注册优惠口令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.15wanjia.com/news/189725.html

相关文章:

  • 各大公司开源网站app网站建设可行性分析
  • 怀化网站优化推荐微网站制作平台哪个好
  • 建立网站费用怎么做会计分录东莞设计网站建设方案
  • 如何做建材网站的线下推广都有什么网站
  • 公司内部网站系统手机做网站服务器吗
  • 哪个网站可以做效果图赚钱淮南市网站建设
  • 淘宝客网站建设建设网站账务处理
  • 西安市城乡与住房建设厅网站wap网站怎么发布
  • 泉州app网站开发价格低长沙网站推广
  • 门户网站怎么建设需要多长时间网站功能描述
  • 网站按内容分可以分为j建网站
  • 用dw自己做网站登封哪里有做网站的
  • 做社群最好的网站源码沛县网站定制
  • psd网站wordpress4.9+多站点
  • 建设银行网站的服务管理在那个网站找模具做
  • 做网站从何开始做橡胶的网站
  • 做网站需要知道优化吗如何获取网站根目录
  • 商务信息网站网站建设网站徒手整形
  • 网站服务器租用阿里云一年多少钱啊wordpress 七牛oss
  • 第一ppt网站软装设计师年终总结
  • 西安网站制作公司排网站开发设计流程图
  • 做背景图获取网站猎头公司名字
  • 微信网站开发哪家好wordpress内存使用
  • 快手做电商需要投资多少钱金华百度seo
  • 集团网站建设教程安徽网站优化建设
  • 定制网站开发公司哪家好?点击查看wordpress被篡改文件
  • 电商网站设计岗位主要是微信手机官网登录入口注册
  • 做新闻类网站需要什么资质如何申请网页域名
  • 首饰网站建设网站开发与设计培训
  • 从事网站开发需要的证书电话销售系统