Материал OpenGL загружен неправильно

У меня есть следующий код:

for (all the meshes)
{
if (any material exists)
{
if (glIsEnabled(GL_COLOR_MATERIAL))
glDisable(GL_COLOR_MATERIAL);// some meaterial stuff as glMaterialfv
}
else if (!glIsEnabled(GL_COLOR_MATERIAL))
glEnable(GL_COLOR_MATERIAL);//Draw the model by using display list
}

Проблема в том, что материал загружен неправильно. Когда я удаляю строки:

if (!glIsEnabled(GL_COLOR_MATERIAL))

а также:

if (glIsEnabled(GL_COLOR_MATERIAL))

Код работает отлично. Зачем? glIsEnabled проверяет, включает ли GL_COLOR_MATERIAL или нет, что означает, что даже если GL_COLOR_MATERIAL включен, мне нужно вызвать glEnable (GL_COLOR_MATERIAL), Почему?

0

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]