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

         

Zoom


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

В приложении Zoom мы воспользуемся функцией SetField() для настройки поля зрения порта просмотра. Приложение размещает сетку в начале координат, а потом демонстрирует результаты трансфокации, используя размещенную в фиксированной позиции камеру. Внешний вид окна приложения Zoom показан на рис. 9.1 (учтите, что на рисунке вы не увидите результаты изменения угла зрения).



Рис. 9.1. Приложение Zoom


Если вы запустите приложение Zoom, вам покажется, что сетка перемещается. Но, хотя сетка и вращается, ее местоположение остается неизменным. Иллюзия перемещения вызывается изменениями параметров поля зрения порта просмотра.

Приложение Zoom поддерживает обычное меню Render, позволяющее во время работы программы изменять используемый метод визуализации. Кроме того, в приложении есть меню Animation. Оно позволяет изменять используемый способ анимации (линейную или сплайновую).

Приложение Zoom демонстрирует следующие технологии:

  • Использование функции SetField() интерфейса Direct3DRMViewport.
  • Использование интерфейса Direct3DRMAnimation для выполнения универсальной анимации (не анимации фреймов).
  • Изменение метода визуализации сетки во время работы приложения.
  • Использование интерфейса Direct3DRMMaterial для изменения внешнего вида сетки.



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