gpt4 book ai didi

c++ - 关于 glColorMask 及其工作的快速提问

转载 作者:搜寻专家 更新时间:2023-10-31 01:20:21 26 4
gpt4 key购买 nike

我想渲染深度缓冲区来做一些漂亮的阴影映射。不过,我的绘图代码包含许多着色器开关。如果我设置 glColorMask(0,0,0,0) 并保留所有着色器程序、纹理和其他内容,只渲染深度缓冲区,它会“OK”吗?我的意思是,如果 glColorMask 禁用了“颜色组件的写入”,这是否意味着每个片段的着色不会被执行

最佳答案

为了渲染阴影贴图,您通常需要将深度纹理(最好是平方和二的幂,因为立体驱动程序将此作为提示!)绑定(bind)到 FBO 并使用一个着色器(尽可能简单)一切。你不想附加颜色缓冲区,因为你对颜色根本不感兴趣,它给 ROP 带来了更多不必要的压力(另外,一些硬件可以渲染两倍或更多的深度)。您不想在许多着色器之间切换。

根据您使用的是“经典”阴影贴图还是更复杂的东西,例如指数阴影贴图,您将使用的着色器要么尽可能简单(恒定颜色,无深度写入),要么执行一些(中等复杂的)深度计算,但您通常不想执行任何颜色计算,因为这将意味着不必要的计算,这些计算不会以任何方式显示。

关于c++ - 关于 glColorMask 及其工作的快速提问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4949304/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com