Нет пятна света на кубе

opengl

323 просмотра

1 ответ

Я сделал три источника света и один куб

Я не вижу пятно света на лицах. Похоже, весь полигон горит. И я не знаю, возможно ли это, и кубу нужно больше полигонов, или, возможно, настройки освещения плохие. Настройки я использую.

glShadeModel(GL_SMOOTH);
glLightf(GL_LIGHT2, GL_SPOT_CUTOFF, 150.0f);
glLightf(GL_LIGHT2, GL_SPOT_EXPONENT, 15.0f);
Автор: userbb Источник Размещён: 13.11.2019 11:31

Ответы (1)


8 плюса

Решение

Помните, что уравнение освещения с фиксированной функцией оценивается только в вершинах треугольника и интерполируется по фрагменту. Нет попиксельного освещения, если вы не проявите креативность с GL_DOT3_RGBтекстурами.

Поэтому, если вы хотите увидеть хороший прожектор на кубе, вам нужно разделить грани куба так, чтобы они были ближе к размеру пикселя:

Пример подразделения

РЕДАКТИРОВАТЬ: Также не забудьте передать в разумных нормалях для каждой вершины. Освещение не очень хорошо работает без них :)

Автор: genpfault Размещён: 08.09.2011 07:07
Вопросы из категории :
32x32