top of page

3D программирование

КОНСПЕКТ ЛЕКЦИЙ (обновлено 24.12.2014):

https://yadi.sk/i/k34zkH4Pdbjhq

 

Вопросы к экзамену (обновлено 24.12.2014):

https://yadi.sk/i/WzwTa2EDdbjho

 

Вопросы к экзамену

  1. Структура программы для вывода 3D-графики. 3D-программа как конечный автомат.

  2. Конвейер визуализации. Операции над вершинами и пикселями.

  3. Инициализация среды DirectX, создание объекта, представляющего устройство вывода, задание параметров вывода.

  4. Структура оконного приложения в ОС Windows. Создание окна и организация обработки оконных сообщений.

  5. Основные графические примитивы и операции по их рисованию.

  6. Буферы вершин. Формат данных о вершине. Вывод графических примитивов из буферов вершин.

  7. Буфер индексов. Совместное использование буфера вершин и буфера индексов.

  8. Пространственные сетки. Геометрия сетки. Подгруппы и буфер атрибутов пространственных сеток. Рисование пространственных сеток.

  9. Оптимизация пространственных сеток. Оптимизация по атрибутам. Использование данных о смежности граней пространственных сеток.

  10. Создание пространственных сеток программным способом. Загрузка сеток из файлов. Клонирование пространственных сеток.

  11. Векторы в трёхмерном пространстве. Представление векторов в библиотеке DirectX. Стандартная позиция векторов. Нулевой вектор и базовые орты.

  12. Равенство векторов. Вычисление модуля вектора. Нормализация вектора. Сложение и вычитание векторов. Умножение вектора на скаляр.

  13. Скалярное произведение векторов и его геометрическая интерпретация.

  14. Векторное произведение векторов.

  15. Матрицы. Равенство матриц. Умножение матрицы на скаляр. Сложение и вычитание матриц.

  16. Правило умножения матриц.

  17. Единичная матрица. Инвертирование матриц. Транспонирование матриц.

  18. Матрицы в библиотеке DirectX: класс D3DXMATRIX.

  19. Использование матриц 4x4 для представления преобразований координат. Использование вектора-строки 1x4 для представления точек и векторов. Векторы 1x4 в однородном пространстве. Отображение векторов из однородного пространства в трехмерное.

  20. Матрица параллельного переноса.

  21. Матрица вращения относительно осей X, Y, Z.

  22. Матрица масштабирования.

  23. Комбинирование преобразований координат. Специальные функции преобразования точек и векторов, заданных объектом класса D3DXVECTOR3 библиотеки DirectX.

  24. Описание плоскостей в трёхмерном пространстве. Вектор нормали. Уравнение плоскости.

  25. Представление плоскостей в библиотеке DirectX: класс D3DXPLANE. Определение взаимного расположения точки и плоскости.

  26. Способы задания плоскостей в трёхмерном пространстве. Нормализация плоскостей.

  27. Определение точки плоскости, ближайшей к заданной. Перпендикуляр к плоскости в заданной точке.

  28. Математическое представление луча в трёхмерном пространстве.

  29. Определение пересечения луча и плоскости в трёхмерном пространстве.

  30. Виртуальная камера. Окно проекции и плоскости отсечения.

  31. Локальное пространство модели. Размещение модели в мировом пространстве.

  32. Преобразование из мирового пространства в пространство вида.

  33. Преобразование проекции: проецирование из пространства вида в пространство проекции.

  34. Преобразование порта просмотра.

  35. Проектирование класса виртуальной камеры. Движение камеры в пространстве.

  36. Интерактивный выбор объектов в программах трёхмерной графики. Пересечение луча и ограничивающей сферы.

  37. Множественный выбор объектов в программах трёхмерной графики.

  38. Управление цветом объектов в программах трёхмерной графики. Типы освещения.

  39. Моделирование освещения сцены в программах трёхмерной графики. Задание отражающих свойств материала и определение нормалей к поверхности.

  40. Моделирование источников света при визуализации трёхмерных сцен.

  41. Использование шрифтов и вывод текста.

  42. Связь текстур с фрагментами трёхмерных объектов.

  43. Создание текстур и разрешение текстурирования.

  44. Применение фильтров для уменьшения искажений при наложении текстур.

  45. Использование текстур с различной степенью детализации.

  46. Режимы адресации текстур.

  47. Применение шейдеров в конвейере визуализации.

  48. Основы мультитекстурирования.

  49. Входные и выходные данные пиксельного шейдера.

  50. Использование эффекта смешивания пикселей.

Файлы поддержки (.h, .lib): http://yadi.sk/d/f6b9QLw19LS26

Лабораторная работа №1. Настройка среды разработки. Создание примера 3D-программы.

http://yadi.sk/d/dkjLRrwU9LP5p

----------------------------------------------------------------------

Лабораторная работа №2. Рисование графических примитивов. Вычисление координат вершин.

http://yadi.sk/d/P18ybnwc9LPgs

----------------------------------------------------------------------

Лабораторная работа №3. Построение полигональных моделей.

http://yadi.sk/d/KK57MrfI9LQ9f

----------------------------------------------------------------------

Лабораторная работа №4. Пространственные сетки.

http://yadi.sk/d/MZZMjbX99ijY3

----------------------------------------------------------------------

Лабораторная работа №5. Модельно-видовые преобразования, преобразования проецирования, преобразование окна просмотра.

http://yadi.sk/d/0yk4W7xiA7qLS

----------------------------------------------------------------------

Лабораторная работа №6. Интерактивное управление сценой.

http://yadi.sk/d/nyDrOholAN93w

----------------------------------------------------------------------

Лабораторная работа №7. Выбор объектов с помощью мыши.

http://yadi.sk/d/k-Vy1jn_BHz6N

----------------------------------------------------------------------

Лабораторная работа №8. Массивы обратной связи OpenGL.

http://yadi.sk/d/BZaxymRmBY8mZ

----------------------------------------------------------------------

Лабораторная работа №9. Множественный выбор.

http://yadi.sk/d/aTI5sh64BY8nE

----------------------------------------------------------------------

Лабораторная работа №10. Цвет и освещение.

http://yadi.sk/d/vqKYJyFDBY8p4

----------------------------------------------------------------------

Лабораторная работа №11. Битовые образы OpenGL.

http://yadi.sk/d/TKYmhkteBY8pW

----------------------------------------------------------------------

Лабораторная работа №12. Использование шрифтов и вывод текста (обновлено 15.11.2014).

https://yadi.sk/i/ODWNTPKkcita9

----------------------------------------------------------------------

Лабораторная работа №13. Использование текстур

https://yadi.sk/d/8D78z3v9dBfEN

----------------------------------------------------------------------

Лабораторная работа №14. Мультитекстурирование

https://yadi.sk/d/y0aR8CNYdALTf

----------------------------------------------------------------------

Лабораторная работа №15. Разработка 3D-симуляторов

https://yadi.sk/d/8tuc_QGrdALX7

----------------------------------------------------------------------

Лабораторная работа №16. Использование спецэффектов освещения и тумана.
http://yadi.sk/d/xXsZYSHFEVjxG
----------------------------------------------------------------------
Лабораторная работа №17. Использование смешивания пикселей и сглаживания геометрических примитивов.
http://yadi.sk/d/jWzk_sYXEVkDW

----------------------------------------------------------------------

Лабораторная работа №18. Шейдеры (обновлено 24.12.2014).

https://yadi.sk/d/WpbfkYondbjgt

----------------------------------------------------------------------

 

 

 

 

 

 

bottom of page