延迟着色,存储位置或从深度构建
Deferred shading, store position or construct it from depth
我在一个引擎中实现延迟着色的中间,现在我必须决定是否使用一个完整的RGB32F纹理来存储位置,或者从深度缓冲区重建它。所以它基本上是一个RGB32F texel fetch vs一个矩阵矢量乘法在片段着色器。还有内存和额外ALU操作之间的交换。
请告诉我有用的资源,并告诉我你自己在这个主题上的经验。
我认为最好从深度重新计算位置。这就是我在延时热机里所做的。重新计算的速度足够快,甚至在我分析渲染循环时都不会出现。与额外24MB的显存使用(对于1920x1080的纹理)相比,这(几乎没有性能影响)对我来说是一个容易的选择。
相关文章:
- C++为构建时间获取QDateTime的可靠方法
- 无法在 CLion 中构建 C++ 项目
- C++17复制构造函数,在std::unordereded_map上进行深度复制
- 函数向量_指针有不同的原型,我可以构建一个吗
- 如何使用ndk-build.cmd构建Android.so文件
- libssh 的函数在构建 libssh 时无法在 Qt 和 cmake 错误中找到
- 使用cmake从源代码构建MySQL连接器/C++失败(与以前的声明冲突)
- VSCode-有一个红色下划线,但程序构建和运行正确,并且出现配音错误
- OpenGL在启用深度测试时不会丢弃我的碎片
- 构建可组合有向图(扫描仪生成器的汤普森构造算法)
- 无法使用Qt Creator在Windows中构建yaml-cpp
- 构建一个由C和C++文件组成的库
- llvm构建器向基本块添加终止符
- FLTK 2.0构建和演示,适用于VS2019的2011年左右的代码库
- 如何跨平台将二进制资源构建到程序中?
- 将 OpenCV 与 CMAKE 中的项目一起构建为第三方库的正确方法
- 有没有办法从点云和深度数据构建和存储3D地图
- 可变参数模板实例化中的无限递归,试图构建任意深度的树状结构
- 延迟着色,存储位置或从深度构建
- 我能否在编译时使用模板健壮地构建具有多个已知类型和已知最大深度的树?