我正在为一个OpenGL程序设置照明。我想在不必修改着色器的情况下轻松调整C++中的照明源数量。
在我的C++代码中:
在我的GLSL代码中:
如何将NUM_LIGHTS值传递给我的着色器?在着色器中是否可以使用定义在C++文件中的宏?是否有另一种简单的方法来设置NUM_LIGHTS,以使其在我的C++代码和GLSL代码之间生效?
在我的C++代码中:
#define NUM_LIGHTS 5
GLfloat lightposn [4 * NUM_LIGHTS];
在我的GLSL代码中:
uniform vec4 lightposn[NUM_LIGHTS];
如何将NUM_LIGHTS值传递给我的着色器?在着色器中是否可以使用定义在C++文件中的宏?是否有另一种简单的方法来设置NUM_LIGHTS,以使其在我的C++代码和GLSL代码之间生效?