- •6.080200 – «Інформатика»
- •Лабораторна робота № 3
- •Тема. Функції рисування графічних зображень з використанням різних растрових операцій
- •Мета роботи: ознайомитися з функціями рисування графічних зображень за допомогою бібліотеки opengl.
- •Короткі теоретичні відомості
- •Хід роботи
- •Короткі теоретичні відомості
- •Завдання
- •Контрольні питання
- •Лабораторна робота № 4 Тема. Відображення фігур зі зміною атрибутів
- •Хід роботи
- •Хід роботи
- •Хід роботи
- •Хід роботи
- •Завдання
- •Контрольні питання
- •Лабораторна робота № 9
- •Короткі теоретичні відомості
- •Хід роботи
- •Завдання
- •Контрольні питання
- •Список літератури
- •39614, М. Кременчук, вул. Першотравнева, 20
Хід роботи
Підключення бібліотек.
Усі файли бібліотек та заголовкові файли, які необхідні для програмування у середовищі Microsoft С++, знаходяться у пакеті Microsoft SDK. Файл бібліотеки glut32.dll помістіть до папки ..\WINDOWS\System32 і перевірте наявність системних бібліотек opengl32.dll та glu32.dll, якщо їх немає, їх необхідно туди скопіювати. Файли бібліотек glut32.lib, opengl32.lib, glu32.lib, Glaux.lib і Uuid.lib помістіть до папки ..\Program Files\Microsoft Visual Studio 8\VC\lib. Файли glut.h, Glaux.h, Gl.h, Glu.h помістіть до папки ..\Program Files\Microsoft Visual Studio 8\VC\Include\GL, папку GL заздалегідь необхідно створити, інші заголовкові файли необхідно скопіювати до папки .\Program Files\Microsoft Visual Studio 8\VC\Include. Після цього слід вказати компонувальнику на необхідність підключення бібліотек opengl32.lib, glu32.lib, glut32.lib та Glaux.lib.
Для дослідження можливостей функцій бібліотек OPENGL необхідно створити простий проект консольного типу. Розглянемо послідовність кроків для створення нового проекту консольного типу.
На сторінці VS Home Page виберіть команду Create New Project, у вікні діалогу New Project виберіть тип проекту Visual C++ Projects, як шаблон (у полі General) — Empty Project.
Задайте ім'я проекту First, бажане місцеположення папки з проектом і натисніть ОК.
У вікні Solution Explorer викличте контекстне меню і виберіть команду Add > Add New Item.
У вікні діалогу Add New Item перейдіть до списку Templates і виберіть рядок C++File(.cpp).
У полі Name того самого діалогу задайте ім'я файла OG.cpp і натисніть кнопку Open.
Далі введіть код у вікно редактора Studio.Net (вкладка OG.cpp). Для того, щоб компонувальник підключив усі бібліотеки OPENGL, проведіть настройку проекту, установіть курсор на ім’я проекту.
У вікні Solution Explorer виберіть команду Project > Properties або її еквівалент View / Property Pages.
У вікні діалогу First Property Pages виберіть елемент дерева Linker * Input.
Виберіть поле Additional Dependencies у вікні праворуч та додайте імена файлів бібліотек, розділені пропусками: OPENGL32.LIB GLU32.LIB GLAUX.LIB GLUT32.LIB і натисніть ОК.
До нового порожнього файла OG.cpp помістіть наступний код додатка :
#include <GL/glut.h> //підключення бібліотеки
void init (void){
glClearColor (1.0,1.0,1.0,0.0);
//задає білий колір вікна зображення
glMatrixMode (GL_PROJECTION);
//задає параметри проектування
gluOrtho2D (0.0,200.0,0.0,150.0);
}
void lineSegment (void) {
glClear (GL_COLOR_BUFFER_BIT); //очищає вікно зображення
glColor3f (1.0,0.0,0.0); //задає червоний колір відрізка
glBegin (GL_LINES);
glVertex2i (180,15); //описує геометрію відрізка
glVertex2i (10,145);
glEnd ();
glFlush (); //обробляє усі функції OpenGL скоріше
}
void main (int argc, char** argv){
glutInit (&argc,argv); //ініціалізація GLUT
glutInitDisplayMode (GLUT_SINGLE|GLUT_RGB); //призначення режимів дисплея
glutInitWindowPosition (50,100);
//задає верхнє положення вікна зображення
glutInitWindowSize (400,300);
//задає ширину і висоту вікна зображення
glutCreateWindow ("En Example");
//створює вікно зображення
init (); //процедура ініціалізації
glutDisplayFunc (lineSegment);
//посилає графічне зображення у вікно
glutMainLoop (); //зображує все та очікує
}
Функція main містить стандартну послідовність дій, які проводяться в усіх консольних додатках OPENGL. З нею треба працювати як з шаблоном додатків даного типу.
Функція init проводить індивідуальні настройки кінцевого автомата OPENGL. У процедурі lineSegment описується рисунок, вона має назву «функція оберненого виклику зображення». Процедура реєструється функцією glutDisplayFunc як стандартна функція та викликається що разу, коли потрібно знову вивести на екран вікно зображення.
