Иллюстрированный самоучитель по Visual Studio.Net

Ангары быстровозводимые здания тут. | На http://www.turbolider.ru ремонт турбин BMW. | Оптимизация рабочих процессов на www.abrusnikina.ru. |

Массивы вершин, нормалей и цветов - часть 2


  • GlEdgeFlagPointer — задает адрес массива флагов видимости линий, исходящих из вершины;

  • GllndexPointer — задает адрес массива цветовых индексов вершин в режиме цветовой палитры, а не RGBA.

  • Другой массив индексов — indices, определяет порядок выбора элементов из этих шести массивов. Но этого мало — надо произвести еще некоторые настройки в машине состояний OpenGL. Для перевода ее в режим использования массивов надо несколько раз вызвать функцию glEnableClientstate. Каждый вызов включает один из шести рассмотренных режимов. Только после этого функция glDrawElements способна эффективно задать сразу все примитивы. Например, вызов:

    glEnableClientState(GL_VERTEX_ARRAY);

    включает режим использования массива координат вершин, а вызов этой же функции с параметром GL_NORMAL_ARRAY включает использование массива нормалей.

    Совместно с командой glDrawElements обычно используют тот способ повышения эффективности отображения примитивов, который мы уже используем. Речь идет о паре функций: glNewList, glEndList. Все команды OpenGL, заданные между вызовами этих двух функций, оптимизируются, компилируются (по выбору) и запоминаются в отдельном нумеруемом списке.




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