openGL プログラムのライティングを設定しています。シェーダーに手を加えることなく、C++ で光源の数を簡単に微調整できるようにしたいと考えています。
私のC++コードでは:
#define NUM_LIGHTS 5
GLfloat lightposn [4 * NUM_LIGHTS];
私の glsl コードでは:
uniform vec4 lightposn[NUM_LIGHTS];
この NUM_LIGHTS 値をシェーダーに渡すにはどうすればよいですか? C++ ファイルで定義されたマクロをシェーダーで使用することはできますか? C++ コードと glsl コードの両方で NUM_LIGHTS を設定する別の簡単な方法はありますか?