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


Урок 3. Отображение цветов - часть 2


                glColor3f(0.0f,0.0f,1.0f);      // Синий цвет

                

glVertex3f( 1.0f,-1.0f, 0.0f);

        

glEnd();


        

glTranslatef(3.0f,0.0f,0.0f);

Теперь мы отобразим квадрат, но зальем его одним цветом. Очень важно помнить, что если вы установили какой-либо цвет, все примитивы в дальнейшем будет отображаться именно им. Каждый последующий проект, который вы будете создавать, так или иначе, будет использовать цвета. Если вы, например, создает сцену, где все фигуры текстурированы, цвет будет использоваться для тона текстур, и т.д.

Так как мы рисуем наш квадрат в одном цвете (для примера – в синем), для начала установим этот цвет, а затем отобразим саму фигуру. Синий цвет будет использоваться OpenGL для каждой вершины, так как мы не меняем его. В итоге мы получим синий квадрат.

        glColor3f(0.5f,0.5f,1.0f);      // Установим синий цвет только один раз

        

glBegin(GL_QUADS);

                

glVertex3f(-1.0f, 1.0f, 0.0f);

                

glVertex3f( 1.0f, 1.0f, 0.0f);

                

glVertex3f( 1.0f,-1.0f, 0.0f);

                

glVertex3f(-1.0f,-1.0f, 0.0f);

        

glEnd();

}

В этом примере я пытался, как можно детальнее описать процедуру установки цветов для вершин, показать различие между однотонной заливкой и разноцветной сглаженной. Попробуйте, для тренировки, изменять составляющие красного, зеленого и синего компонентов цвета. Посмотрите, какие будут результаты ваших экспериментов. Если у вас есть, какие либо замечания, вопросы или комментарии, я жду ваших писем. Если вы нашли неправильно описание или ошибки в коде, пожалуйста, сообщите мне об этом, мне очень хотелось бы, чтобы эти описания были лучше.




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



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