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

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

Создание такую сложную светоотражающей поверхность теперь займет лишь чуть дольше,  чем обычный
Создание такую сложную светоотражающей поверхность теперь займет лишь чуть дольше, чем обычный

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

Вот два простых примера того, каких результатов можно достичь при помощи подобной технологии:

Фото
Фото

Исследования будут опубликованы на следующей неделе, но вы уже можете ознакомиться с ними заранее.