首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么更多的渲染器将直接照明放在计算机着色器中而不是像素着色器?

为什么更多的渲染器将直接照明放在计算机着色器中而不是像素着色器?
EN

Stack Overflow用户
提问于 2022-06-17 15:48:32
回答 1查看 85关注 0票数 1

近年来,许多渲染团队将他们的直接光照阶段放在计算机着色器中,而不是象素着色器,这会使渲染速度更快吗?这是因为异步计算技术将一些计算和光栅操作并行化吗?

EN

回答 1

Stack Overflow用户

发布于 2022-06-17 17:20:56

在延迟呈现中,您有两次传递。几何通道生成材料参数(位置、法线、反照率等),而照明通道则根据影响到该表面点的每个光的材料参数进行照明计算。

当使用图形管道时,通过绘制全屏四角图(由于性能原因而在屏幕上平铺的较小的四角体)或表示影响所涉光线的世界空间区域的球体来“呈现”照明通道。无论哪种方式,这些只是在屏幕的某些部分上执行片段着色器的借口。

使用计算机着色器进行照明传递会产生类似的效果。然而,它也允许您使用计算机着色器的好处。例如,工作组内的调用可以共享数据存储。这对于SSAO技术尤其有用(虽然技术上不是局部照明,但它只使用一组有界的本地数据来进行计算)。工作组可以为所有调用集体加载执行SSAO所需的信息,然后从本地存储读取该数据以完成其工作。

但是,请注意,这并不能保证性能;这只是一件可能有帮助的事情。另外,考虑到移动芯片上基于瓷砖的渲染器在这样的渲染器上会表现得相当糟糕。当所有东西都可以活在平铺内存中时,TBR获得了它们的优势;将它强制到主存,在那里您可以对其执行计算着色操作,这基本上是抛弃了这种性能。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72661861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档