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


Урок 15. Текстурные шрифты - часть 6


  }

  BuildFont();            // Построить шрифт

 

  glShadeModel(GL_SMOOTH);    // Разрешить плавное затенение

  glClearColor(0.0f, 0.0f, 0.0f, 0.5f); // Черный фон

  glClearDepth(1.0f);         // Установка буфера глубины

  glEnable(GL_DEPTH_TEST);    // Разрешение теста глубины

  glDepthFunc(GL_LEQUAL);     // Тип теста глубины

  glEnable(GL_LIGHT0);        // Быстрое простое освещение

                              // (устанавливает в качестве источника освещения Light0)

  glEnable(GL_LIGHTING);      // Включает освещение

  // Действительно хорошие вычисления перспективы

  glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);

 

Разрешение наложения 2D текстуры, и выбор текстуры номер один. При этом будет отображена текстура номер один на любой 3D объект, который мы выводим на экран. Если Вы хотите большего контроля, Вы можете разрешать и запрещать наложение текстуры самостоятельно.

 

  glEnable(GL_TEXTURE_2D); // Разрешение наложения текстуры

  glBindTexture(GL_TEXTURE_2D, texture[0]); // Выбор текстуры

  return TRUE; // Инициализация окончена успешно

}

 

Код изменения размера не изменился, но код DrawGLScene изменился.

 

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

{

  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Очистка экран и буфера глубины

  glLoadIdentity(); // Сброс просмотра

 

Здесь наше первое изменение. Вместо того чтобы поместить объект в середину экрана, мы собираемся вращать его на экране, используя COS и SIN (это не сюрприз). Мы перемещаемся на 3 единицы в экран (-3.0f). По оси X, мы будем раскачиваться от -1.1 слева до +1.1 вправо. Мы будем использовать переменную rot для управления раскачиванием слева направо. Мы будем раскачивать от +0.8 верх до -0.8 вниз. Мы будем использовать переменную rot для этого раскачивания также (можно также задействовать и другие переменные).

 

  // Позиция текста

  glTranslatef(1.1f*float(cos(rot/16.0f)),0.8f*float(sin(rot/20.0f)),-3.0f);




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



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