Поделиться через


Отрисовка простых поверхностей

Библиотека GLU включает набор функций для рисования различных простых поверхностей (сфер, цилиндров, дисков и частей дисков) в различных стилях и ориентациях. Эти функции подробно описаны в справочном руководстве OpenGL.

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

  1. Создайте квадричный объект с gluNewQuadric.

    Чтобы уничтожить этот объект после завершения работы, используйте gluDeleteQuadric.

  2. Укажите нужный стиль отрисовки, как указано ниже, с соответствующей функцией (если вы не удовлетворены значениями по умолчанию):

    • Следует ли генерировать нормали, и если да, нужно ли иметь одну нормаль на вершину или одну нормаль на грань: gluQuadricNormals
    • Следует ли создавать координаты текстуры: gluQuadricTexture
    • Какая сторона квадрика должна считаться внешней и которая внутри: gluQuadricOrientation
    • Следует ли нарисовать квадрат в виде набора многоугольников, линий или точек: gluQuadricDrawStyle
  3. После указания стиля отрисовки вызовите функцию отрисовки для требуемого типа квадричного объекта: gluSphere, gluCylinder, gluDiskили gluPartialDisk.

    Если во время отрисовки возникает ошибка, вызывается функция обработки ошибок, указанная с помощью gluQuadricCallBack.

Используйте *Radius, высотуи аналогичные аргументы, а не функцию glScale, чтобы масштабировать квадрики, чтобы не нужно было повторно нормализировать любые нормы длины единицы, созданные. Чтобы принудительно выполнить вычисления освещения с более тонкой детализацией, особенно если спекулярность материала высока, задайте аргументы циклов и стеков для значений, отличных от 1.