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


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

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

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

  1. Создайте объект quadric с помощью gluNewQuadric.

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

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

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

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

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