Плоские изображения неправильной формы, которые часто используются в играх, такие изображения в разных граф пакетах называется по-разному:
Direct2DSK – декалы.
Спрайт – фигурка (изображение предмета) наклеенная на картон и установленная в определенной точке макета, при этом можно создать эффект толщины фигурки. Спрайты образуются подобно фигурам но текстура имеет прямоугольную форму, это недостаток компенсируется заданием прозрачности участков не заданные фигуркой. Если один из цветов прозрачный, то при воспроизведении пиксели не копируются из источника в приёмник (буфер воспроизведения). По умолчанию прозрачный цвет – чёрный. Текстура не обладает атрибутом для создания спрайтов – местом в кадре. Эта проблема решается присоединением текстуры к фрейму. Фрейм можно вращать перемещать и масштабировать.
Вывод графики осуществляется по конвейеру построения изображения. Часть этого конвейера берёна себя рограмма а часть – библиотека прикладного программирования. Всё остальное выполняет ускоритель 3д графики.
Конвейер построения изображений.
1. Определение состояния объектов (Situation Modeling) Эта часть программы моделирует законы того мира который будет смоделировать.
2. Определение соответствующих текущему состояния геометрических моделей. Создаётся геометрического представления текущей ситуации реального мира.
3. Разбиение геометрических моделей на примитивы (). На основе информации с шага 2 создаётся внешний вид объектов в виде набора определённых примитивов. Наиболее распространённые примитивы – треугольники.
4. Привязка атрибутов (Atribute definition)(текстур освещения и так далее). Определяется как будут освещены геометрические примитивы, а так же каким образом на них будут наложены текстуры. Всё вычисляется для Авершин примитивов.
5. Видовые геометрические преобразования. Определение новых координат для всех примитивов исходя из положения наблюдателя и направления его взгляда.
6. Отбрасывание невидимых примитивов (culling)
7. Установка примитивов (Setup). Информация о примитивах преобразуется в вид пригодный для следующих этапов.
8. Закраска примитивов. (Fill). Этап построения в буфере кадра, картинки на основе информации о примитивах.
9. Финальная обработка. (PostProcessing). Обработка результирующей картинки как единого целого какими либо двумервными эффектами.
Некоторые стадии коныейера можно переставлять или совмещать, также могут быть и дополнительные стадии:
Картинка со стадии 9 можно использовать как текстуру на сдадии 8 = эффект отражения.
Библиотеки прикладного программирования.
Для функционирования конвейера есть три исполнителя:
- сама программа (обычно начальные стадии конвейера)
- библиотека прикладного программирования (API)
- ускоритель
Есть программы которые не используют ускоритель и всё выполняют сами.
Стадия
Библиотеки
Программа
Библиотека
API нижнего уровня
ускоритель
Ужк что-то выполняют
Разбиение на примитивы и систематизацию сцены/
Производительность зависит от производительности процессора, пропускной способности шины памяти и самих обрабатывающих блоков.