Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #34, СЕНТЯБРЬ 2003 г.

ПОЛНОЭКРАННОЕ ВИДЕО БЕЗ ТОРМОЗОВ

Дениc Овсянников

Спецвыпуск Xakep, номер #034, стр. 034-064-2


Direct3D

Это стандартная библиотека от Microsoft DirectX, описывающая механизмы реализации трехмерных функций и процедур. Является своеобразной альтернативой OpenGL, примерно равной ей по функциональности. Применяют Direct3D в ОС Windows для работы программ с трехмерной графикой в реал-тайм. Стандарт принес с собой ряд функций трехмерной графики и ряд спецификаций. Аналогично ряд функций обрабатывается аппаратно, высвобождая ресурсы процессора. При отсутствии аппаратной поддержки все функции Direct3D могут быть реализованы программно, что обеспечивается на уровне библиотек.

DirectDraw - составная часть Direct3D, отвечающая за качественную прорисовку. DirectSound - воспроизведение аудио, включая микшеры, звуковые спецэффекты, звук окружения. Система рендеринга оптимизирует распределение 3D объектов, текстур и прочих необходимых данных для быстрого и качественного процесса визуализации.

ОСНОВНЫЕ 3D ИНТЕРФЕЙСЫ API

Direct3D API Retained Mode - высокоуровневый менеджер трехмерных графических сцен, позволяющий разработчикам работать с объектами, строить сложные движения в трехмерных сценах, не используя низкоуровневое программирование;

DirectShow API - стандартизированная архитектура потоковой передачи мультимедиа данных. Включает оцифровку, обработку и воспроизведение мультимедиа информации в сети интернет в потоковом режиме (реал-тайм);

DirectAnimation API - усовершенствованный интерфейс прикладного программирования для совмещения информации различных типов. Разработчики получают более широкие возможности доступа к структуре и взаимосвязи своих мультимедийных объектов;

DirectPlay API - высокоуровневое средство создания сетевых компьютерных игр.

КОНВЕЙЕР РЕНДЕРИНГА

Каждая стадия обработки (построения) изображения представляет собой, условно говоря, конвейер. Обычный 3D ускоритель ускоряет лишь некоторые стадии процесса. Вкратце конвейер работает так. Строится каркас сцены, затем происходит тесселяция (дробление объекта, поверхности на треугольники), масштабирование, добавление света, проецирование, растеризация - все это стадии просчета, которые могут быть оптимизированы и обработаны твоим 3D ускорителем. Естественно, шина AGP и геометрический сопроцессор должны присутствовать по умолчанию на достойных экземплярах 3D видеокарт.

РАБОТА В РЕАЛЬНОМ ВРЕМЕНИ

Ключ к получению качественной 3D графики в реальном времени заключается в создании правильной системной архитектуры, организованном доступе к памяти для быстрого просчета и правильном исключении невидимых объектов и слоев для освобождения рабочей памяти. Загрузка процессами не должна тормозить систему (не менее 30 кадров в секунду). Лучшие акселераторы позволяют оптимизировать и обработать аппаратно математические функции, которые дают основную нагрузку на процессор. Не следует забывать, что производительность ускорителя зависит и от центрального процессора, объема и скорости памяти ПК. Скорость работы видеоускорителя оценивают в количестве прорисовки треугольников в секунду и скорости прорисовки точек в секунду (fill rate). Помимо этих характеристик используются другие тесты fps (количество кадров в секунду) в 3D шутерах типа Quake 3 Arena, Doom III. При этом получаешь реальную картину работы 3D ускорителя в полевых условиях.

Назад на стр. 034-064-1  Содержание  Вперед на стр. 034-064-3