Для встановлення кольору фону в Open GL використовується процедура
glClearColor(R, G, B, Alfa);
де R, G, B – інтенсивності основних кольорів (червоного, зеленого та блакитного відповідно) заданих дійсними числами з діапазону , Alpha – параметр прозорості. Наприклад, для вибору червоного кольору фону слід виконати вказану процедуру з параметрами glClearColor(1, 0, 0, 1), для вибору білого кольору glClearColor(1, 1, 1, 1), для чорного кольору glClearColor(0, 0, 0, 1) і т.п.
Після виконання процедури glClearColor фактичний колір фону форми не змінюється, змін зазнає лише внутрішня змінна Open GL-контексту, що зберігає поточне значення кольору фону. Для зафарбовування форми необхідно виконати процедуру:
glClear(GL_COLOR_BUFFER_BIT);
де параметр GL_COLOR_BUFFER_BIT – системна змінна, визначена в модулі OpenGL, яка зберігає поточне значення кольору фону.
Колір переднього плану (колір фігури) визначається процедурами:
glColor3d(R, G, B);
glColor3f(R, G, B);
glColor3i(R, G, B);
Тут параметри R, G, B мають зміст, аналогічний до попереднього випадку, але відрізняються за типом. В процедурі glColor3d вони мають тип double, в процедурі glColor3f – тип float, в процедурі glColor3i – тип integer.
Таким чином фрагмент програми:
glClearColor(0.2, 0.5, 0.75, 1.0); {Встановлення кольору фону}
glClear(GL_COLOR_BUFFER_BIT); {Очистка вікна}
glColor3d(1,1,1); {Встановлення кольору майбутніх зображень}
встановлює колір фону як суміш кольорів з переважаючим синім кольором, очищає вікно (зафарбовує колір фону) та встановлює білий колір для зображень, що будуть виводитися в подальшому.
При виведенні зображень засобами Open GL застосовується прив’язана до вікна система координат (рис. 2.1). По замовчанню початок координат знаходиться в центрі вікна, вісь абсцис ОХ – горизонтальна направлена до правого краю екрану, вісь ординат OY – вертикальна і направлена до верхнього краю екрана, вісь аплікат OZ є перпендикулярною до площини екрана і направлена від користувача. Вся видима область має вигляд куба, з початком координат в центрі та довжиною ребер 2 одиниці. Зверніть увагу, що для формування фігур застосовуються координати, незалежні від розміру або положення вікна на екрані. Таким чином, при масштабуванні або зсуві вікна фігура буде масштабуватися та зсовуватися разом з вікном.
Рис. 2.1. Система координат Open GL
При побудові векторних зображень здійснюється їх декомпозиція на графічні примітиви (точки, лінії, багатокутники). В бібліотеці Open GL всі графічні примітиви задаються сукупністю їх вершин (точок) стандартним способом. Спочатку виконується процедура
glBegin(Графічний_Примітив);
яка показує початок введення примітиву, визначеного параметром Вид_Примітиву. Потім до примітиву додаються вершини шляхом виконання процедур glVertex2d(x,y), glVertex2f(x,y), glVertex2s(x,y), glVertex2i(x,y) та glVertex3d(x,y,z), glVertex3f(x,y,z), glVertex3s(x,y,z), glVertex3i(x,y,z). При цьому двійка в імені процедури означає застосування двовимірних координат (примітив зображується в площині OXY), а трійка – тривимірних. Остання літера в імені процедури визначає тип змінних, якими задаються координати точки: d – double, f – float, s – shortint, i – integer тощо.
Після того як процедурами glVertex задано всі точки примітиву слід виконати процедуру glEnd, що показує завершення вводу примітиву.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.