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


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


       glTranslatef(0.0f,0.0f,z);       // Перемещаемся вглубь экрана

 

       glRotatef(xrot,1.0f,0.0f,0.0f);  // Вращение по оси X

       glRotatef(yrot,0.0f,1.0f,0.0f);  // Вращение по оси Y

 

       glBindTexture(GL_TEXTURE_2D, texture[filter]); // Выбираем фильтрацию текстуре

 

       // Эта секция кода новая ( НОВОЕ )

       switch(object)                   // Проверяем, какой объект рисовать

       {

       case 0:                          // Рисуем первый объект

              glDrawCube();             // Рисуем наш куб

              break;                    // Закончили

Второй объект, который мы создадим, будет цилиндр. Первый параметр (1.0f) – радиус основания цилиндра (низ). Второй параметр (1.0f) - это радиус цилиндра сверху. Третий параметр (3.0f) - это высота цилиндра (какой он длины). Четвертый параметр (32) – это сколько делений будет "вокруг" оси Z, и, наконец, пятый (32) - количество делений "вдоль" оси Z. Большее количество делений приведет к увеличению детализации объекта. Увеличивая количество делений, вы добавляете больше полигонов в объект. В итоге вы должны будем пожертвовать скоростью ради качества. Самое сложное - найти золотую середину.

       case 1:                          // Рисуем второй объект

              glTranslatef(0.0f,0.0f,-1.5f); // Центр цилиндра

              gluCylinder(quadratic,1.0f,1.0f,3.0f,32,32); // Рисуем наш цилиндр

              break;                    // Закончили

Третий объект, который мы создадим, будет поверхность в виде CD диска. Первый параметр (0.5f) - внутренний радиус цилиндра. Его значение может быть нулевым, что будет означать, что внутри нет отверстия. Чем больше будет внутренний радиус - тем больше будет отверстие внутри диска. Второй параметр (1.5f) - внешний радиус. Это значение должно будь больше, чем внутренний радиус. Если сделать его значение чуть больше чем внутренний радиус, то получится тонкое кольцо. Если это значение будет намного больше, чем внутренний радиус, то получится толстое кольцо. Третий параметр (32) – количество кусочков, из которых состоит диск. Думайте об этих кусочках, как о частях пиццы. Чем больше кусочков, тем глаже будет внешняя сторона диска. И, наконец, четвертый параметр (32) - это число колец, которые составляют диск. Кольца похожи на треки на записи. Круги внутри кругов. Эти кольца делят диск со стороны внутреннего радиуса к внешнему радиусу, улучшая детализацию. Опять же, чем больше делений, тем медленнее это будет работать.




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



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