Программирование графических процессоров с использованием Direct3D и HLSL


Настоящий курс лекций разработан доцентом


Настоящий курс лекций разработан доцентом кафедры информационных технологий факультета прикладной математики и кибернетики Тверского государственного университета, кандидатом физико-математических наук А.Б. Семеновым при финансовой поддержке Microsoft Corporation.
Целью разрабатываемого курса является изучение слушателями математических и алгоритмических основ современной двумерной и трехмерной графики, включая задачи и методы реалистической визуализации и анимации, а также основные методы и алгоритмы обработки изображений. Особое внимание в курсе уделяется основам программирования графических процессоров, поддерживающих шейдерную архитектуру и приобретению навыков при разработке программного обеспечения с помощью графической библиотеки Direct3D и языка программирования высокого уровня HLSL. Задачей проекта является разработка и исследование алгоритмов и методов компьютерной графики на базе ядра графического микропроцессора. Заложенные внутри графического процессора механизмы параллелизма позволяют использовать видеокарту как эффективный параллельный вычислитель.
Материал лекций разбит на несколько частей. Первый раздел курса знакомит слушателя с математическими аспектами компьютерной графики. Второй и третий разделы посвящены двумерным и трехмерным построениям сцены соответственно. Рассмотрены основные шаги и приемы по работе с графической библиотекой Direct3D как на плоскости, так и в пространстве. Следует отметить, что материал содержит как математические выкладки и рассуждения, так и рекомендации, иллюстрации и примеры процедур и функций для самостоятельной программной реализации алгоритмов. Причем автор посчитал необходимым приводить примеры программного кода на двух языках программирования (C++ в среде MS Visual Studio, Pascal в среде Delphi). В заключении курса приведены варианты лабораторных работ и список рекомендуемой литературы.
Весь представленный иллюстративный материал курса получен из самостоятельно разработанных программ как результат копирования формы отображения в буфер обмена (снятие screenshot’а формы).

Содержание раздела