私は初心者です。古いコードで気づいた
// Calculate the light position for this vertex
vec3 vertex_light_position = gl_LightSource[0].position.xyz;
それは動的に変化しているため、単に静的な vec3 でテストすることはできません。
最新の OpenGL で上記を置き換えるにはどうすればよいですか? 例をいただければ幸いです。
gl_LightSource は単なる均一な配列です。最新のコードでは、ライト データを含む構造体の均一な配列を渡すことができます。
それはおそらく静的です。このコードは、頂点からライトへのベクトルではなく、ライトの位置を取得しています。
また、現在のレンダリング パスに関しては静的です。フレームの間、頂点は 1 つの場所にあります。
最新の OpenGL でライトに関する情報を取得するには、こちらのドキュメントを参照してください。