我有以下代码:
glDisable(GL_COLOR_MATERIAL);
cout<<(int)glIsEnabled(GL_COLOR_MATERIAL)<<endl;
glEnable(GL_COLOR_MATERIAL);
cout<<(int)glIsEnabled(GL_COLOR_MATERIAL)<<endl;
modelDL[t] = glGenLists(1);
glNewList(modelDL[t],GL_COMPILE);
glDisable(GL_COLOR_MATERIAL);
cout<<(int)glIsEnabled(GL_COLOR_MATERIAL)<<endl;
glEnable(GL_COLOR_MATERIAL);
cout<<(int)glIsEnabled(GL_COLOR_MATERIAL)<<endl;
似乎显示列表中间的 2 行阻止了 glDisable 和 glEnable。这段代码的输出是:
0
1
1
1
它应该是
0
1
0
1
如果删除显示列表的 2 行,则输出正常。如何将 glEnable 和 glDisable 与显示列表一起使用?