Размещено на портале Архи.ру (www.archi.ru)

22.12.2009

Профессиональные решения NVIDIA для ускорения работы с трехмерной графикой

Мастерская:
Consistent Software Distribution

Современные профессиональные графические карты – это единое целое мощного многоядерного процессора (GPU) с параллельной архитектурой и программным обеспечением..

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

Современные профессиональные графические карты – это сплав высоких технологий, объединяющий в единое целое мощный многоядерный графический процессор (GPU) с параллельной архитектурой и программное обеспечение, позволяющее в полной мере задействовать все ресурсы GPU.

Как известно, параллельная архитектура способна обеспечить многократный рост производительности по сравнению с классической архитектурой CPU далеко не во всех случаях. Прежде всего, это дифференциальные уравнения, расчет графики, гидродинамики и т.д. Важным элементом является наличие правильного программного кода, который позволит максимально «распараллелить» выполняемые задачи. И если все эти условия соблюдены, эффективность системы возрастает многократно.

Профессиональная трехмерная графика – это во многом не только создание цифрового трехмерного прототипа. Это еще и ряд специфических задач по расчету динамики физических процессов, фотореалистичной визуализации и других, для решения которых создаются специальные профессиональные графические ускорители.

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

Наиболее интересные программно-аппаратные решения в этой области предоставляет сегодня компания NVIDIA со своей линейкой профессиональных графических карт NVIDIA Quadro FX.

Вот перечень основных задач, которые способны решать такие карты:

  • быстрый и качественный графический рендеринг в САПР-приложениях;
  • аппаратное ускорение физики силами движка NVIDIA PhysX;
  • поддержка стереоскопического изображения;
  • система расчета трассировки лучей OptiX;
  • поддержка CUDA – среды разработки, позволяющей писать софт для сложных вычислительных задач, не связанных с графикой.

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

NVIDIA Quadro FX – это серия профессиональных графических карт, изначально созданных именно для расчета графики в 3D-приложениях, таких как Autodesk 3ds Max, AutoCAD, Autodesk Inventor, Autodesk Revit и т.д. Практически все модели профессиональных видеокарт NVIDIA обеспечивают гораздо более высокую скорость графического рендеринга, нежели обычные пользовательские видеокарты. При этом не стоит забывать о качестве изображения и сроке службы. Эти показатели у профессиональных карт также значительно выше.

Аппаратный физический движок PhysX уже давно завоевал себе место в видеоиграх, где в реальном времени необходимо просчитывать взрывы, огонь, воду, разрушение объектов и т.д. Но эта технология оказалась крайне полезной и для профессионалов. В частности, PhysX в качестве плагина активно используется в Autodesk 3ds Max и Autodesk Maya и позволяет создавать симуляцию тканей, флюидов, твердых и мягких тел.

Сам плагин можно бесплатно скачать на сайте NVIDIA.

Функция стереоскопии – технология, которая в последние годы получила второе дыхание. Многие студии, создающие трехмерную мультипликацию, помимо обычной версии в обязательном порядке выпускают стереоверсию для специально приспособленных для этого кинотеатров. Компанией NVIDIA были разработаны очки, которые позволяют работать с трехмерными моделями в стереорежиме. Принцип работы основан на затворных механизмах, встроенных в очки, что дает возможность передавать изображение в полноценной цветовой гамме в отличие от простых двухцветных очков.

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

Система расчета трассировки лучей OptiX – технология, которая обеспечивает возможность делать финальный фотореалистичный рендер вашего проекта в разы быстрее! Достаточно сказать, что знаменитое подразделение Lucas Films для создания спецэффектов, компания Industrial Light & Magic, на счету которой визуальные эффекты для фильмов «Пираты Карибского моря», «Железный человек», «Трансформеры», «Индиана Джонс» и т.д., в настоящий момент строит новую рендер-ферму именно на базе GPU NVIDIA.

Стоит отметить, что технологии реалистичной визуализации не ограничиваются лишь технологией OptiX. Относительно недавно компания NVIDIA приобрела разработчика рендера mental ray – компанию mental images. После совместной работы на стыке программного обеспечения mental images и аппаратных средств NVIDIA был анонсирован выпуск нового уникального продукта под названием iray. Разработчики утверждают, что iray войдет в состав новой версии mental ray 3.8. Уже совсем скоро мы сможем просчитывать наши проекты средствами mental ray, задействовав при этом не центральный процессор, который, по сути, для такого рода расчетов не предназначен, а GPU NVIDIA.

Несколько слов в этой статье стоит сказать о технологии CUDA, которую поддерживают все последние поколения графических карт NVIDIA. CUDA – это архитектура, которая позволяет использовать мощь графического процессора для вычислений общего назначения. По сути, это среда разработки, позволяющая выполнять любые вычисления, для которых предпочтительна именно параллельная архитектура процессора. В данный момент архитектура CUDA поддерживает языки программирования C, С++, Fortran, и это не предел. Платформа CUDA дает практически ничем неограниченные возможности по использованию ресурсов GPU для расчетов любой сложности.

Технологии не стоят на месте, скорее, наоборот, в последние годы мы наблюдаем их экспоненциальный рост и появление новых направлений развития. Сегодня графическая карта в компьютере специалиста по 3D – это не только приспособление, увеличивающее частоту смены кадров при работе со сложными трехмерными моделями, но и средство, ускоряющее работу с трехмерной графикой практически во всем ее многообразии.

Даже такая прерогатива CPU прошлых лет, как финальный рендер, сейчас довольно успешно перекладывается на «плечи» графических процессоров, что практически повсеместно приводит к многократному повышению скорости расчета финального изображения или видео.