OpenGL 着色器制服优化

问题描述 投票:0回答:0

我想优化我的着色器,我想知道着色器如何处理制服的计算。 准确地说,我想知道我是否应该在 CPU 上计算这些东西并将现成的结果作为制服发送,或者我是否可以在着色器上计算它而不会在性能方面造成重大损失。

例如我有这样简单的着色器:

uniform vec2 screenSize;
vec2 pixelSize = vec2(1.0, 1.0) / screenSize;

void main()
{
//... some code that is using pixelSize, for example for reading something from sampler2D
}

每次 OpenGL 绘制调用将在着色器中计算多少次

pixelSize
,例如全屏尺寸四边形(后期处理效果)?

也许这取决于它是顶点着色器还是片段着色器?

c++ opengl glsl
© www.soinside.com 2019 - 2024. All rights reserved.