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


Урок 14. Векторные шрифты - часть 11


 

       // Цветовая пульсация основанная на вращении

       glColor3f(1.0f*float(cos(rot/20.0f)),1.0f*float(sin(rot/25.0f)),

              1.0f-0.5f*float(cos(rot/17.0f)));

 

Моя любимая часть... Запись текста на экран. Мною были использованы несколько команд, которые мы применяли также при выводе на экран растровых шрифтов. Сейчас вы уже знаете, как вывести текст в команде glPrint("Ваш текст"). Это так просто!

 

В коде, приведенном ниже, мы печатаем "NeHe", пробел, тире, пробел и число из переменной rot и разделенное на 50, чтобы немного его уменьшить. Если число больше 999.99, разряды слева игнорируются (так как в команде мы указали 3 разряда на целую часть числа и 2 - на дробную после запятой).

 

       glPrint("NeHe - %3.2f",rot/50);   // Печать текста на экране

 

Затем увеличиваем переменную rot для дальнейшей пульсации цвета и вращения текста.

 

       rot+=0.5f;                        // Увеличить переменную вращения

       return TRUE;                      // Все прошло успешно

              }

 

И последняя вещь, которую мы должны сделать, это добавить строку KillFont() в конец функции KillGLWindow(), так как я это сделал ниже. Очень важно это сделать. Она очистит все, что касалось шрифта, прежде чем мы выйдем из нашей программы.

 

if (!UnregisterClass("OpenGL",hInstance))// Если класс незарегистрирован

       {

       MessageBox(NULL,"Could Not Unregister Class.",

              "SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION);

       hInstance=NULL;                   // Установить копию приложения в ноль

       }

KillFont();                              // Уничтожить шрифт

 

Под конец урока вы уже должны уметь использовать векторные шрифты в ваших проектах, использующих OpenGL. Как и в случае с уроком N 13, я пытался найти в сети подобные руководства, но, к сожалению, ничего не нашел. Возможно мой сайт - первый в раскрытии данной темы в подробном рассмотрении для всех, понимающих язык Си? Читайте руководство и удачного вам программирования!

© Jeff Molofee (NeHe)

PMG  15 февраля 2002 (c)  Александр Попович

d=document;rn=Math.random(); y="

"; d.write(y);

SpyLog




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



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