计算 reflection/refraction 和制服的 OpenGL 问题
OpenGL issue with calculating reflection/refraction and uniforms
我正在尝试计算 reflection/refraction 但我执行了
gl_FragColor = mix(objectColor, environmentColor, 1.0f);
我开始收到制服错误,找不到我的 lightPosition
制服。这没有意义,因为我正在使用该制服来计算漫射照明,并且当我将混合功能删除到 gl_FragColor = objectColor;
时它很好。我不确定我做错了什么,如果有人能提供帮助,我将不胜感激。
mix(x, y, a)
可以表示为x*(1.0−a) + y*a
.
mix
的最后一个参数是一个常量。因此表达式可以由编译器优化。
gl_FragColor = mix(objectColor, environmentColor, 1.0f);
等于
gl_FragColor = environmentColor;
所以 objectColor
没有被使用,因此 lightPosition
也没有被使用。因此制服 lightPosition
不是活动的程序资源。
我正在尝试计算 reflection/refraction 但我执行了
gl_FragColor = mix(objectColor, environmentColor, 1.0f);
我开始收到制服错误,找不到我的 lightPosition
制服。这没有意义,因为我正在使用该制服来计算漫射照明,并且当我将混合功能删除到 gl_FragColor = objectColor;
时它很好。我不确定我做错了什么,如果有人能提供帮助,我将不胜感激。
mix(x, y, a)
可以表示为x*(1.0−a) + y*a
.
mix
的最后一个参数是一个常量。因此表达式可以由编译器优化。
gl_FragColor = mix(objectColor, environmentColor, 1.0f);
等于
gl_FragColor = environmentColor;
所以 objectColor
没有被使用,因此 lightPosition
也没有被使用。因此制服 lightPosition
不是活动的程序资源。