Народный учебник по OpenGL


Урок 18 по OpenGL. Квадратирование - часть 4


       // Правая грань

       glNormal3f( 1.0f, 0.0f, 0.0f);   // Нормаль направлена вправо

       glTexCoord2f(1.0f, 0.0f);

       glVertex3f( 1.0f, -1.0f, -1.0f); // Низ Право на текстуре и четырехугольнике

       glTexCoord2f(1.0f, 1.0f);

       glVertex3f( 1.0f,  1.0f, -1.0f); // Верх Право на текстуре и четырехугольнике

       glTexCoord2f(0.0f, 1.0f);

       glVertex3f( 1.0f,  1.0f,  1.0f); // Верх Лево на текстуре и четырехугольнике

       glTexCoord2f(0.0f, 0.0f);

       glVertex3f( 1.0f, -1.0f,  1.0f); // Низ Лево на текстуре и четырехугольнике

       // Левая грань

       glNormal3f(-1.0f, 0.0f, 0.0f);   // Нормаль направлена влево

       glTexCoord2f(0.0f, 0.0f);

       glVertex3f(-1.0f, -1.0f, -1.0f); // Низ Лево на текстуре и четырехугольнике

       glTexCoord2f(1.0f, 0.0f);

       glVertex3f(-1.0f, -1.0f,  1.0f); // Низ Право на текстуре и четырехугольнике

       glTexCoord2f(1.0f, 1.0f);

       glVertex3f(-1.0f,  1.0f,  1.0f); // Верх Право на текстуре и четырехугольнике

       glTexCoord2f(0.0f, 1.0f);

       glVertex3f(-1.0f,  1.0f, -1.0f); // Верх Лево на текстуре и четырехугольнике

       glEnd();                         // Заканчиваем рисование четырехугольника

}

Следующая функция - DrawGLScene. Я просто только написал case оператор для рисования разных объектов. Так же я использовал статическую переменную (локальная переменная, которая сохраняет свое значение каждый раз при вызове) для крутого эффекта, когда рисуем часть диска. Я собираюсь переписать всю функцию DrawGLScene для ясности.

Заметьте, что когда я говорю о параметрах, которые используются, я пропускаю первый параметр (quadratic). Этот параметр используется для всех объектов, которые мы  рисуем, за исключением куба, поэтому я его пропускаю, когда говорю о параметрах.

int DrawGLScene(GLvoid)                 // Здесь мы все рисуем

{

       // Очистка видео буфера и буфера глубины

       glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

       glLoadIdentity();                // Сбрасываем вид




Начало  Назад  Вперед



Книжный магазин