Трассировка лучей в реальном времени – многообещающая технология рендеринга, которая может заменить современные алгоритмы растеризации. Сейчас каждый трехмерный объект в видеоиграх состоит их геометрических структур, в основе которых блоки треугольников. С помощью треугольников сегодня можно создавать не только сферы и цилиндры, но и сложные обьекты, например, людей. В процессе рендеринга каждый из этих треугольников проходит через несколько операций. Его анализируют, красят, подсвечивают, накладывают текстуры и, наконец, прорисовывают на экране. Шейдеры – специальные программы – позволяют изменять характер закраски треугольников, в результате мы получаем тени и отражения.
С другой стороны при трассировке видеокарта прорисовывает лучи света так, как они попадают в глаза зрителя в реальности. Сцена продолжает строиться из множества треугольников, однако, ее геометрия становится абстрактной и начинает напоминать "дерево", в котором можно проследить его развитие от корня до самой маленькой веточки.
Принцип работы алгоритма трассировки лучей
Специалист по трассировке Дэниэл Пол на последнем IDF продемонстрировал портированную версию Quake IV. Его Quake IV задействовал GPU только для того, чтобы вывести картинку на монитор. Построение сцен осуществлялось за счет мощности CPU. При этом был достигнут показать в 100 fps. Правда, компьютер, на котором проводилась презентация, имел восемь ядер x86. Впрочем, как утверждают в Intel, такое количество "процессоров" станет нормой для обычного ПК в ближайшие годы.
Трассировка лучей, примененная в Quake 4
Трассировка обладает хорошей масштабируемостью. То есть, чем больше ядер CPU задействовано, тем лучше получается картинка. В данный момент Intel адаптировала технологию для 16 ядер, что дало соответствующий прирост производительности.
Возможно, что будущие CPU+GPU пойдет не по пути совмещения двух процессоров, а за счет применения новой технологии рендеринга, в результате чего надобность в GPU просто отпадет.