Научная статья на тему 'Фотореалистичная визуализация с помощью трассировки путей на графических процессорах'

Фотореалистичная визуализация с помощью трассировки путей на графических процессорах Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
198
70
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Фролов В. А., Игнатенко А. В.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Фотореалистичная визуализация с помощью трассировки путей на графических процессорах»

Фотореалистичная визуализация с помощью трассировки путей

на графических процессорах

Фролов В. А. Игнатенко А.В.

Кафедра автоматизированных систем и вычислительных комплексов. Факультет вычислительной математики и кибернетики Московского государственного университета

им. М. В. Ломоносова. vfrolov@graphics.cs.msu.ru, ignatenko@grayhics.cs.msu.ru

Введение

В последние время вычислительные системы на основе графических процессоров (Graphics Processing Unit - GPU) демонстрируют серьезный отрыв производительности по сравнению с системами, основанными на центральных процессорах. Это связано в первую очередь с тем, что видеокарты изначально ориентированы на параллельную обработку большого количества данных. Но именно по этой причине их программирование весьма специфично, практически всегда требует изменения исходного алгоритма и совершенно иного подхода при программировании, нежели на центральных процессорах.

Предлагаемый подход

Мы использовали алгоритм трассировки путей (path tracing) для расчета мягких теней и нечетких отражений (glossy reflections). Тривиальная реализация трассировки путей на GPU не была бы эффективна. Дело в том, что некоторые пиксели могут потребовать в несколько раз больше лучей, чем другие, вследствие того что на них приходятся материалы со сложными отражающими свойствами или они попали в полутень (в зависимости от степени мягкости тени, может потребоваться от десятков до сотен теневых лучей для одной точки). Поэтому требуется адаптивный подход. Наш алгоритм разделяет экран на блоки по 8x8 пикселей. Трассировка ведется одновременно некоторым достаточно большим количеством блоков, так как для загрузки GPU вычислениями необходимо иметь много активных потоков. Для каждого блока мы оцениваем по некоторой метрике то, насколько этот блок можно считать завершенным. Если блок завершен, он удаляется из списка активных блоков. Такая модель не только позволяет сделать трассировку путей адаптивной, но также выполнить все требования и ограничения GPU, вызванные ее SIMD природой. Например, вследствие того, что все данные для лучей внутри блока хранятся последовательно, мы соблюдаем правило объединения запросов к памяти (coalescing), характерное для архитектур G80/90 и GT200.

Также мы предлагаем архитектуру алгоритмов визуализации на GPU, отличную от тех, что используется в других GPU трассировщиках лучей, об архитектуре которых нам известно на данный момент [1], [2], [3], [4].

Результаты

Наша реализация в 2-3 раза обгоняет по скорости современные пакеты визуализации трассировки лучей (такие как VRay и mental ray) на реализованных эффектах (мягкие тени и нечеткие отражения) и сравнимом по стоимости оборудовании.

Рис. 3. Мягкие тени и нечеткие отражения. 1024x768; GTX260; Чайник: 10 сек.

“Conference room”: 6 сек.

Литература

[1] Popov S., Günther J., Seidel H.-P., Slusallek P. Stackless KD-Tree Traversal for High Performance GPU Ray Tracing. In Proceedings of the EUROGRAPHICS conference, vol. 26 (2007), Number 3.

[2] Günther J., Popov S., Seidel H.-P., Slusallek P. Realtime Ray Tracing On GPU With BVH-BasedPacket Traversal. In Proceedings of the IEEE/Eurographics Symposium on Interactive Ray Tracing. IEEE Symposium on

Volume, Issue, 10-12 Sept. 2007. p. 113 - 118.

[3] Horn, D. R., Sugerman, J., Houston, M., and Hanrahan, P. 2007. Interactive k-d tree GPU raytracing. In Proceedings of the 2007 Symposium on interactive 3D Graphics and Games (Seattle, Washington, April 30 - May 02, 2007). I3D '07. ACM, New York, NY, p. 167-174

[4] Боголепов Д., Трушанин. В., Турпалов В. Интерактивная трассировка лучей на графическом процессоре. In: GraphiCon'2009.; 2009. p. 263-266.

i Надоели баннеры? Вы всегда можете отключить рекламу.