Трассировка лучей обычно ассоциируется с мощными графическими процессорами, поскольку это очень требовательная к вычислительным ресурсам технология. Однако разработчик Константин Зойрер решил провести смелый эксперимент - реализовать поддержку трассировки лучей Vulkan прямо в коде процессора в Linux.
Он внес изменения в открытую графическую библиотеку Mesa, добавив функцию VK_KHR_ray_query. Это позволило осуществить трассировку лучей без использования GPU. Чтобы продемонстрировать работоспособность, Зойрер запустил игру Quake II RTX с включенной трассировкой лучей на CPU.
Производительность оказалась очень низкой - всего 1 кадр в секунду. При этом загрузка процессора составляла только 34%. Точная конфигурация системы не раскрывается и неизвестно, какой именно процессор использовался и какие настройки графики были применены в Quake II RTX, сообщает издание Techspot.Тем не менее, этот эксперимент показал потенциальную возможность запуска приложений с трассировкой лучей на обычных процессорах, и по мере развития технологий и роста вычислительной мощности ЦП, все больше задач, связанных с 3D-графикой и визуализацией, смогут выполняться без дискретных GPU.Очевидно, что в ближайшее время процессорная трассировка лучей вряд ли будет интересна геймерам. Но в других областях, таких как архитектурная визуализация, промышленный дизайн и научная визуализация, она может найти применение. Особенно на компьютерах без мощных видеокарт.Эксперимент Зойрера является доказательством возможностей технологии и ее потенциала. В будущем процессорная трассировка лучей может позволить добиться фотореалистичной компьютерной графики без использования GPU. Хотя до этого еще далеко, первый шаг уже сделан. Несмотря на низкую производительность в текущем виде, поддержка трассировки лучей в CPU-коде открывает многообещающие перспективы.