Некоторые недоразумения по поводу моделей затенения openGL для GL_FLAT и GL_SMOOTH - PullRequest
1 голос
/ 26 октября 2019

Я знал, что в [openGL] есть только два режима затенения: GL_FLAT и GL_SMOOTH. Я просто хочу знать, есть ли способы добиться затенения Гуро и затенения Фонга, используя только вышеупомянутые режимы затенения в [openGL]?

1 Ответ

1 голос
/ 26 октября 2019

Функциональность, о которой вы говорите, слишком устарела. GL_FLAT и GL_SMOOTH - режимы конвейера с фиксированными функциями, в которых используется освещение Блинна-Фонга.

Оба режима дают одну и ту же модель освещения, но значения GL_FLAT для пикселей внутри поли не интерполируются. Таким образом, каждый многоугольник с GL_FLAT становится равномерно освещенным и выглядит плоским.

Отвечая на ваш вопрос, вы не можете получить ничего, кроме Blinn-Phong с GL_SMOOTH и GL_FLAT.

Я знал, что тамтолько два режима затенения

Это не так с ~ 15 лет назад.

В настоящее время функциональность фиксированного конвейера устарела. Пожалуйста, используйте шейдеры и применяйте любое освещение, если только вы не вынуждены использовать устаревшие GL из-за угроз насилия.

...