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

轻量封装WebGPU渲染系统示例<22>- 渲染到纹理(RTT)(源码)

当前示例源码github地址:

https://github.com/vilyLei/voxwebgpu/blob/feature/rendering/src/voxgpu/sample/RTTTest.ts

当前示例运行效果:

此示例基于此渲染系统实现,当前示例TypeScript源码如下:

export class RTTTest {private mRscene = new RendererScene();initialize(): void {console.log("RTTTest::initialize() ...");this.applyRTT();this.initScene();}private applyRTT(): void {let rc = this.mRscene;// rtt texture proxy descriptorlet rttTex = { uuid: "rtt0", rttTexture: {} };// define a rtt pass color colorAttachment0let colorAttachments = [{texture: rttTex,// green clear background colorclearValue: { r: 0.1, g: 0.9, b: 0.1, a: 1.0 },loadOp: "clear",storeOp: "store"}];// create a separate rtt rendering passlet rPass = rc.createRTTPass({ colorAttachments });// 使用rtt纹理let extent = [0.3, 0.3, 0.6, 0.6];let entity = new FixScreenPlaneEntity({ extent, flipY: true, textures: [{ diffuse: rttTex }] });rc.addEntity(entity);const diffuseTex = { diffuse: { url: "static/assets/default.jpg", flipY: true } };extent = [-0.5, -0.5, 0.8, 0.8];let rttEntity = new FixScreenPlaneEntity({ extent, textures: [diffuseTex] }).setColor([1.0, 0.0, 0.0]);rPass.addEntity(rttEntity);}private initScene(): void {const rc = this.mRscene;const diffuseTex = { diffuse: { url: "static/assets/default.jpg", flipY: true } };let extent = [-0.9, 0.0, 0.5, 0.5];let entity = new FixScreenPlaneEntity({ extent }).setColor([0.2, 0.5, 0.7]);rc.addEntity(entity);extent = [-0.8, -0.8, 0.8, 0.8];entity = new FixScreenPlaneEntity({ extent, textures: [diffuseTex] }).setColor([0.1, 0.3, 0.9]);rc.addEntity(entity);}run(): void {this.mRscene.run();}
}

http://www.lryc.cn/news/223830.html

相关文章:

  • 官方Redis视图化工具Redisinsight
  • Vue+Django REST framework 打造生鲜电商项目课程下载树大根深
  • react中遇到的分页问题
  • 变电站自动化系统中的安全措施分析及应用-安科瑞
  • 【MongoDB】索引 – 文本索引
  • 【广州华锐互动】影视制作VR在线学习:身临其境,提高学习效率
  • Linux 命令:PS(进程状态)
  • 手把手教你:LLama2原始权重转HF模型
  • 后入能先出,一文搞懂栈
  • 京东API接口的应用场景:商品信息查询,商品详情获取
  • 微信小程序使用iconfont坑
  • 最新Cocos Creator 3.x 如何动态修改3D物体的透明度
  • golang 2018,go 1.19安装Gin
  • 常用的三角函数公式
  • 【MySQL】一文学会所有MySQL基础知识以及基本面试题
  • self.register_buffer方法使用解析(pytorch)
  • 关于卷积神经网络中如何计算卷积核大小(kernels)
  • python使用selenium做自动化,最新版Chrome与chromedriver不兼容
  • 算法进阶指南图论 通信线路
  • 【QEMU-tap-windows-Xshell】QEMU 创建 aarch64虚拟机(附有QEMU免费资源)
  • strtok函数详解:字符串【分割】的利器
  • winui3开发笔记(二)自定义标题栏
  • MapReduce 读写数据库
  • 设计模式 -- 状态模式(State Pattern)
  • qt quick发布程序启动失败
  • nginx反向代理报错合集
  • 【Linux精讲系列】——vim详解
  • 微信小程序自动化采集方案
  • 操作系统第三章王道习题_内存管理_总结易错知识点
  • uniapp刻度尺的实现(swiper)滑动打分器