🚀 优质资源分享 🚀
学习路线指引(点击解锁) | 知识定位 | 人群定位 |
---|---|---|
🧡 Python实战微信订餐小程序 🧡 | 进阶级 | 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。 |
💛Python量化交易实战💛 | 入门级 | 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统 |
大家好~我们已经实现了百万级2D物体的流畅渲染,不过是基于计算管线实现的。本文在它的基础上,改为基于光追管线实现,主要进行了CPU和GPU端内存的优化,成功地将渲染的2D物体数量由4百万提高到了2千万
相关文章如下:
如何用WebGPU流畅渲染百万级2D物体?
本文不需要实现构建和遍历BVH,而是直接使用光追管线提供的加速结构
本文的重点工作在于对CPU内存和GPU内存的优化,突破内存限制(如突破加速结构最大大小限制),使其支持千万级物体的数据
本文使用WebGPU Node项目,作者的介绍在这里。它在底层封装了Vulkan SDK,在上层提供了WebGPU API,实现了在Nodejs环境中使用WebGPU API和光追管线来实现硬件加速的光线追踪(需要使用nvdia的RTX显卡)!
我在2020年就已经基于该项目实现了3D场景渲染,相关介绍如下:
WebGPU+光线追踪Ray Tracing 开发三个月总结
目录* 需求
- 成果
- 1、选择渲染的算法
- 2、实现内存需求
- 3、渲染1个圆环
- 4、渲染10个圆环
- 5、显示FPS
- 6、实现剔除
- 7、测试渲染极限
- 8、拆分加速结构
- 9、拆分Instance Buffer
- 10、优化CPU端的内存占用
- 11、测试渲染极限
- 12、尝试优化构造加速结构
- 更多分析
- 总结
- 后续的改进方向
- 参考资料
- 欢迎浏览上一篇博文:如何用WebGPU流畅渲染百万级2D物体?
需求
跟百万级的Demo的需求是一样的,除了提高渲染的2D物体数量到千万级,目的是为了探索基于硬件的光追管线的实现能带来的优化极限