我正在第一个延迟着色实现中,我使用GL_RGBA32F内部格式制作了一些渲染目标,但是当我尝试从片段着色器向渲染目标输出vec4时,值会先乘以w分量被写入纹理。
是的,我以后使用它们时可以将其除以w,但这似乎很浪费。有没有一种方法可以防止他们首先获得w乘数?
[当我尝试从片段着色器向渲染目标输出vec4时,将值乘以w
组件,然后再将其写入纹理。
[它们仅与w
分量相乘-或以更明显的方式编写-当ypu设置了某些alpha混合时的a
分量。 (例如GL_SRC_ALPHA
源混合因子)。写入gbuffer时,应禁用混合功能-透明方式无论如何都无法通过延迟着色来实现。