
- •Проекція. Ортогональна система координат. Лівостороння, правостороння системи координат.
- •Радіус-вектор. Властивості радіус-вектора. Перехід від координат точки до радіус-вектора.
- •Рівняння площини у просторі. Проекція радіус-вектора на інший радіус-вектор
- •Математичні основи комп’ютерної графіки. Переміщння. Маштабування. Обертання
- •Представлення об’єктів у тривимірному просторі. Функціональні моделі. Воксельна модель. Полігональні моделі.
- •Типи проекцій. Ізометрична проекція. Аксонометрична проекція.
- •Складові вікна програми 3ds Max. Сцена в 3ds Max. Модифікатори 3dsMax.
- •Об’єкти в 3ds Max. Робота з кольором. Rgb-кольор. Hsl / hsv-властивості.
- •Основи сплайнового моделювання. Вершина. Сегмент. Сплайни. Створення сплайнів. Типи вершин та їх призначення.
- •Полігональне моделювання. Геометрична іерархія підоб’єктів.
- •Метод бікубічних раціональних в-сплайнів. Nurbs-поверхні та їх типи.
- •Матеріали. Основні способи роботи з матеріалами. Матеріали. Потік даних при роботі з матеріалами
- •Освітлення. Типи джерел світла. Приклади застосування. Освітлення. Спрямоване джерело світла Spot. Приклади застосування.
- •Освітлення. Типи джерел світла. Приклади застосування. Освітлення. Спрямоване джерело світла Direct. Приклади застосування.
- •Освітлення. Параметри джерел світла. Принцип трикутного освітлення одиночного об’єкта
- •Камери. Перспектива. Правила розташування камери. Візуалізація. Ефекти візуалізації. Приклади.
- •Інтерфейс OpenGl. Бібліотеки OpenGl
- •Організація бібліотеки OpenGl. Бібліотека динамічної компоновки
- •Синтаксис команд та констант OpenGl. Привести приклади.
- •Команди управління вікном в OpenGl. Привести приклад програми
- •Використання операторних дужок в OpenGl. Обмеження. Привести приклад програми
- •Функції бібліотеки glut/ Чому вони формально не належать OpenGl? Привести приклад програми.
- •Що можно сказати про кількість і тип параметрів функцій glColor4ub(); glVertex3fv(); glVertex2i();
- •Графічне середовище OpenGl. Характерні особливості OpenGl.
- •Графічне середовище OpenGl у чому полягає стабільність, надійність OpenGl.
Організація бібліотеки OpenGl. Бібліотека динамічної компоновки
Динамически загружаемая библиотека- это файлы с наперед откомпилированным кодом функций или классов, которые используются разными приложениями на этапе выполнения.
Dll – это исполняющий файл, относящий к ActiveX и драйверы, для сохранения ресурсов и функций отдельно от исполняемого файла.
Як організувати роботу 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.
Синтаксис команд та констант 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) – команда принимает указатель на вектор величины.
Команди управління вікном в 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;
}
Використання операторних дужок в 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();