Для начала разберемся с тем, как выстраивается изображение в играх сейчас.

Делается это с помощью алгоритма растеризации, если вкратце, этот алгоритм находит проекцию полигонов, из которых состоит объект, на экран, также он обрабатывает информацию о нормалях, цвете, текстурах, а также рассчитывает количество освещения для каждого пикселя, что и определяет конечный его цвет. Однако, учитывая, что в современных играх полигонов примерно дохуя, кроме этого, есть невъебенно дорогие 4К экраны, в которых тоже очень много пикселей, процесс растеризации требует большого к-ва вычислений, а если еще подумать о том, что это должно происходить с частотой не менее 30 кадров в секунду, то вообще трындец сколько мощностей нужно.

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

Да, картинка нормесная, но не идеальная, именно поэтому NVIDIA каждый выпускает новые видеокарты и работает над усовершенствованием технологий обработки. Результатом таких трудов стала технология Ray Tracing, речь о которой шла еще в 70-х, но до гейминга она смогла добраться только сейчас.



Принцип этой технологии состоит в «отслеживании» луча от экрана к объекту, а от объекта к источникам света. Также строятся преломленные и отраженные от объектов лучи, что дает возможность составить практически идеальное представление о цвете и освещенности объекта. Благодаря этому картинка получается очень реалистичной, локации наполняются тенями, адекватными отражениями и рассеиваниями света, кроме этого, учитываются тени предметов, которые не видны глазу (при растеризации скорее всего такие объекты были бы отброшены).



Ray Tracing уже давно применяют в архитектуре, чтобы понять, как будет смотреться то или иное здание в лучах солнца ( а также не будет ли оно собирать свет в одной точке и сжигать машины, из-за изогнутых поверхностей, как, например, небоскреб Walkie-Talkie в Лондоне) , а также его активно применяют в создании спецэффектов и реалистичной графики в фильмах и мультфильмах, именно благодаря ей зачастую сложно отличить реальность от эффектов. Однако, киноиндустрия может позволить себе ждать по многу часов, пока будет рендериться один кадр, но в гейминге это непозволительно. Именно поэтому данная технология добралась до игр только сейчас ( и то в гибридном виде), она требует просто пиздец как много ресурсов и вычислительных мощностей. При обработке каждого кадра нужно просчитать в общей сложности миллионы лучей, большая часть из которых практически и не будут влиять на общую картину.




Именно поэтому сейчас в картах NVIDIA RTX не трассируют всю сцену полностью, а делают это гибридно, то есть обрабатывают только некоторые элементы типо отражений и некоторых теней. А на то, чтобы обрабатывать картинку полностью и в реальном времени, с помощью технологии Ray Tracing, уйдут годы.

Спасибо за то, что вы с нами.
С любовью, Рителлинг favorite