Понедельник, 07 Октября 2024, 12:07

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Как правильно установить нормали OpenGL
xamelonДата: Воскресенье, 15 Января 2017, 12:55 | Сообщение # 1
частый гость
Сейчас нет на сайте
Привет всем. Я пытаюсь сделать куб. Поставил два источника света. Выставляю нормали. Но, получается такая картина на скриншоте.
Что я делаю не так?

И еще вопрос. Как я понял,на примере куба, для верхней грани, нужно выставить нормаль (0,0,1), а для нижней (0,0,-1). У нижней грани, нормаль (0,0,-1), чтобы она освещалась снизу, а не сверху. А как мне вычислять нормали, если куба задается 4 точками на XY плоскости?



Код

glBegin(GL_QUADS);

    glNormal3f(0,0,-1);
    glVertex3f(0, 0, 0);
    glVertex3f(0.1, 0,0);
    glVertex3f(0.1, 0.1, 0);
    glVertex3f(0, 0.1, 0);

    glNormal3f(0,0,1);
    glVertex3f(0, 0, 0.1);
    glVertex3f(0.1, 0,0.1);
    glVertex3f(0.1, 0.1, 0.1);
    glVertex3f(0, 0.1, 0.1);

    glNormal3f(-1,0,0);
    glVertex3f(0,0,0);
    glVertex3f(0,0.1,0);
    glVertex3f(0,0.1, 0.1);
    glVertex3f(0, 0, 0.1);

    glNormal3f(1,0,0);
    glVertex3f(0.1,0,0);
    glVertex3f(0.1,0.1,0);
    glVertex3f(0.1,0.1,0.1);
    glVertex3f(0.1, 0, 0.1);

    glNormal3f(0,-1,0);
    glVertex3f(0,0,0);
    glVertex3f(0.1, 0,0);
    glVertex3f(0.1,0,0.1);
    glVertex3f(0,0,0.1);

    glNormal3f(0,1,0);
    glVertex3f(0,0.1,0);
    glVertex3f(0.1,0.1,0);
    glVertex3f(0.1,0.1,0.1);
    glVertex3f(0,0.1,0.1);

    glEnd();


Сообщение отредактировал xamelon - Воскресенье, 15 Января 2017, 13:09
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг