Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kontr_teor_3.doc
Скачиваний:
4
Добавлен:
30.07.2019
Размер:
172.54 Кб
Скачать
  1. Організація бібліотеки OpenGl. Бібліотека динамічної компоновки

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

Dll – это исполняющий файл, относящий к ActiveX и драйверы, для сохранения ресурсов и функций отдельно от исполняемого файла.

  1. Як організувати роботу OpenGL в Visual C++ 2005?

Для создания приложения в Visual C++ нужно:File->New->Projects ->Win32ConsoleApplication.

Подключить к проекту библиотеку OpenGL(Tools->Options->Projects and Solutions->VS++Directories->Show directories for->Library Files)

Для всех OpenGL приложений необходимо включать заголовочный файл gl.h. Также большинство приложений используют GLU и должны включать файл glu.h. Практически каждый исходный файл приложения OpenGL начинается со следующих строк:

#include <GL/gl.h>

#include <GL/glu.h>

#include <GL/glut.h>

Для систем Microsoft Windows требуется включение файла windows.h до включения gl.h или glu.h, так как некоторые макросы, используемые в этих файлах, определены внутри windows.h.

  1. Синтаксис команд та констант OpenGl. Привести приклади.

Type glCommandName[1 2 3 4] [b s i f ub us ui] [v](type1 arg1,…):

  • gl- имя библиотеки;

  • CommandName- имя команды;

  • [1 2 3 4] – число аргументов команды;

  • [b s i f ub us ui] – тип аргумента;

  • [v] - в качестве параметров вызывался указатель;

Например: - glColor4f(0.0,0.0,0.0) – команда изменения текущего цвета, получает 4 аргумента типа float

- glColor3fv(color_array) – команда принимает указатель на вектор величины.

  1. Команди управління вікном в OpenGl. Привести приклад програми

  • glutInit() - обрабатывает параметры командной строки

  • glutInitDisplayMode()

  • glutInitWindowSize(int width, int height) - Запрашивают окно определенного размера. Аргументы width и height определяют размер окна (в пикселях).

  • glutInitWindowPosition(int x, int y) - Запрашивают окно в определенном месте экрана. Аргументы (x, y) определяют, где будет находиться угол окна относительно всего экрана.

  • glutCreateWindow(name) - открыть окно с именем name

  • glutDisplayFunc() - помечает, что текущее окно требует перерисовки.

  • glutMainLoop()- войти в главный цикл

Пример программы:

----------\\------------

int main(int argc, char **argv)

{

glutInit(&argc,argv);

glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);

glutInitWindowSize(250,250);

glutInitWindowPosition(100,100);

glutCreateWindow(“hello”);

init();

glutDisplayFunc(display);

glutMainLoop();

return 0;

}

  1. Використання операторних дужок в OpenGl. Обмеження. Привести приклад програми

В OpenGL в качестве операторных скобок используют glBegin() и glEnd(), в теле этих команд определяют объект, который следует нарисовать.

Void glBegin(GL enum mode);

Void glEnd(void);

  • GL_POINTS – каждая вершина задает координаты точек

  • GL_LINES – отрезок

  • GL_TRIANGLES – треугольник

  • GL_QUADS – квадрат

Команды OpenGL допустимы для glBegin() и glEnd():

  • glVertex – координаты вершины

  • glColor – текущий цвет

  • glIndex – индекс цвета

  • glNormal – координаты вектора нормали

  • glTeCoord – координаты текстур

  • glMaterial – свойства материалов

  • glColorList – исполняет список отображений

  • glEvalCoord – генерирует координаты

  • glEnglFlag – контролирует рисование ребра

например: рисование треугольника

glBegin(GL_TRIANGLES);

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

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

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

glEnd();

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]