gl_LightSource [0] .position.xyz в современном OpenGL - PullRequest
2 голосов
/ 17 сентября 2010

Я новичок. Я заметил в старом коде

// Calculate the light position for this vertex
vec3 vertex_light_position = gl_LightSource[0].position.xyz;

Я предполагаю, что это динамически меняется и, следовательно, не могу протестировать его с помощью статического vec3.

Как мне перейти с замены вышеперечисленного в современном OpenGL? Пример был бы очень признателен.

Ответы [ 2 ]

3 голосов
/ 17 сентября 2010

gl_LightSource - это просто унифицированный массив, для современного кода вы можете просто пропустить унифицированный массив структур, содержащий ваши легкие данные.

0 голосов
/ 17 сентября 2010

Это скорее всего статично. Этот код захватывает положение из света, а не вектора до света из вершины.

Это также статично относительно текущего прохода рендеринга. Вершина находится в одном месте на протяжении кадра.

Чтобы получить информацию об источниках света в современном OpenGL, вот документация .

...