TruForm
TruForm — торговая марка компании ATI Technologies (ныне AMD), под которой выпускался аппаратный блок (SIP-блок), обеспечивающий поддержку процедуры тесселяции в компьютерной графике на уровне видеокарты. TruForm впервые был реализован в видеокартах Radeon 8500 (выпущенных с августа 2001 года) и последующих моделях[1].
Преемником SIP-блока TruForm стала аппаратная тесселяция в архитектуре TeraScale, реализованная в видеокартах серии Radeon HD 2000 (с июня 2007 года) и новее.
Обязательная поддержка аппаратной тесселяции появилась только в Direct3D 11 и OpenGL 4. Видеокарты, реализующие тесселяцию, как определено этими API, — это только устройства на базе TeraScale 2 (VLIW5), представленные в сентябре 2009 года, и архитектуры GCN (появилась в январе 2012 года). В архитектуре GCN функции тесселяции реализует специальный блок — «геометрический процессор» (Geometric processor).
Общее описание
До появления совершенствованных методов бамп-маппинга с использованием пиксельных шейдеров, таких как нормал-маппинг и параллакс-маппинг, имитирующих повышенную детализацию, объекты с изогнутыми поверхностями моделировались с помощью значительного числа треугольников. Чем больше треугольников, тем более сглаженной и детализированной выглядит поверхность. TruForm создает искривлённую поверхность на базе существующих треугольников и дробит её, формируя новый, более подробный полигональный объект. Это позволяет повысить качество изображения без ощутимого снижения производительности, так как используются аппаратные вычисления на уровне геометрии.
TruForm не получил широкого распространения среди разработчиков игр, поскольку для корректной работы требовал проектирования 3D-моделей с учетом особенностей TruForm. Чтобы избежать графических искажений (например, чрезмерного округления оружия), модели должны были содержать специальные флаги, отмечающие области, подлежащие тесселяции. Кроме того, отсутствие стандартов и поддержки этой технологии со стороны конкурирующих компаний также привело к низкому интересу со стороны индустрии.
В поздних версиях драйверов Catalyst поддержка TruForm была полностью удалена.
Начиная с видеокарт серии Radeon X1000, TruForm более не рекламировался как аппаратная функция. Однако модели Radeon 9500 и новее (а также все устройства с поддержкой Shader Model 3.0) поддерживают функцию «Render to Vertex Buffer» (R2VB), которую можно использовать для задач тесселяции[2]. В Radeon X1000 возможно одновременное подключение до 5 буферов R2VB. Аппаратная тесселяция в виде отдельного блока вновь появилась в графических процессорах Xenos и Radeon R600.
Игры с поддержкой TruForm
- Counter-Strike (ati_subdiv "2.0", ati_npatch "1.0")
- Tom Clancy's Rainbow Six
- Soldier of Fortune
- Soldier of Fortune II: Double Helix
- Quake (патч TruQuake)[3]
- Quake II (патч TruQuake2)[4]
- Hexen II (патч TruHexen2, модификация TruQuake2, разработка RaVeN [1])
- Unreal Tournament (патч TruUT)[5]
- The Elder Scrolls III: Morrowind (неофициально, через FPS Optimizer [2])
- Madden NFL 2004
- Bugdom
- Return to Castle Wolfenstein
- Serious Sam
- Unreal Tournament 2003 и 2004 (необходимо вручную изменить параметр "UseNPatches=True" в файле ".ini" игры)
- Wolfenstein: Enemy Territory
- Command & Conquer: Renegade
- Neverwinter Nights (необходимо вручную включить "Enable Truform=1" в файле ".ini" игры)
- FTEQW (QuakeWorld, Net Quake, Quake II, Quake, Quake III: Arena, Hexen 2, Nexuiz) [3] [4]
- Quake III Arena [5] (разработка RaVeN)
Примечания
Ссылки
- Официальный список игр с поддержкой TruForm на сайте ATI (архив)
- Пресс-релиз ATI (архив)
- FAQ для разработчиков ATI TruForm (архив)
- Документ: TruForm whitepaper (архив)
- Документ: R2VB Programming (март 2006, архив)
- Render to Vertex Buffer с D3D9
- area3d.net: NitroGL Demos — проекты TruQuake, TruQuake2 и TruUT