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


Дополнительные материалы


Ниже приводятся типовые варианты лабораторных работ.

Лабораторная работа № 1

Разработать программу, обеспечивающую вывод на форму большого числа (более 10000) плоских геометрических примитивов (точек, отрезков, треугольников) с использованием библиотеки Direct3D и определить количество выводимых кадров в секунду для каждого типа примитивов. Выходные данные программы (результаты) оформить в виде таблицы следующего вида:

Тип примитиваКоличествоКоличество кадров в секунду (fps)
Несвязные отрезки1000040

Лабораторная работа № 2

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

Количество прямоугольниковРазмер накладываемой текстурыКоличество кадров в секунду (fps)
2000512х51225

Лабораторная работа № 3

Разработать программу, реализующую вращение текстурированного выпуклого полупрозрачного объекта. В качестве результата вывести количество кадров в секунду.

Лабораторная работа № 4

Разработать программу, обеспечивающую визуализацию трехмерного объекта произвольной сложности, освещенного точечными источниками, и отбрасывающего тень на плоскость y=0. Результаты оформить в виде таблицы:

Количество полигонов в объектеКоличество источников светаКоличество кадров в секунду (fps)
3000320

Лабораторная работа № 5

Разработать программу, реализующую преобразование трехмерного объекта при помощи эффекта скручивания (blending vertex). Вершинный шейдер должен быть написан на языке HLSL. В качестве результата вывести количество кадров в секунду.

Лабораторная работа № 6

Разработать программу, обеспечивающую попиксельную закраску трехмерного объекта методами Гуро и Фонга. Пиксельный шейдер должен быть написан на языке HLSL. В качестве результата вывести количество кадров в секунду.

Лабораторная работа № 7

Разработать программу с использованием пиксельного шейдера, обеспечивающую обработку изображений точечными и пространственными процессами.
Пиксельные шейдеры должны быть написаны на языке HLSL. Результат оформить в виде таблицы.

Размер изображенияТип обработкиКоличество миллисекунд
512х512фильтр Собеля20
Лабораторная работа № 8

Разработать программу обработки изображений точечными и пространственными процессами с использованием центрального процессора (CPU). Результат оформить в виде таблицы

Размер изображенияТип обработкиКоличество миллисекунд
512х512фильтр Собеля1000
и сравнить с предыдущими.
Содержание раздела