Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

OpenGL Light Shader

52K
24 сентября 2009 года
artlebedev
1 / / 24.09.2009
Здравствуйте. Учусь OpenGL'у.

Есть вершинный шейдер для света:
Код:
uniform vec3 lightPos;
void main(void)
{
    vec3 normal;
    vec3 lightDir;
    vec4 diffuse;
    float angle,kDiff=0.8;

    normal=normalize(gl_NormalMatrix * gl_Normal);

    lightDir = normalize(lightPos);
    angle=max(dot(normal, lightDir), 0.0);

    diffuse=vec4(0.5,0.5,0.5,1.0);

    gl_FrontColor=gl_Color*angle+vec4(0.3,0.3,0.3,1.0);

    gl_Position=ftransform();
}

Проблема в том, что положение света получается относительно положения камеры. Т.е. передвигается камера-передвигается и источник света. Вопрос. Как зафиксировать источник света на одной позиции? Желательно пример...да и объяснение доступное...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог