0

glGet* 関数をテストするために、システムでサポートされているライトの数を照会しようとしています。

私が理解しているように、最小値は 8 であり、計算時間が必要なため、とにかく多くのライトを使用するべきではありません。このスレッドを参照してください。

これまでのところ、私はこれを試しました:

GLint maxlights;
glGetIntergerv(GL_MAX_LIGHTS, &maxlights);
std::cout << "MAX_LIGHTS=" << (int)maxlights << std::endl;

出力:

MAX_LIGHTS=0

なぜそうなのか、誰か説明できますか?照明 (OpenGL Redbook、バージョン 2.1、194 ページから) を使用して球体を描画しているので、照明が有効になっており、正しく機能していることがわかります。

4

1 に答える 1

2

OpenGL コンテキストを正しく初期化していない可能性があります。こちらを参照してください。

ところで 、ハードウェア TnL 機能は古いため、もう使用しないでください。

于 2013-07-14T19:28:25.540 に答える