Что такое ray-tracing и стоит ли за него переплачивать?
Москва, 22 августа - "Вести.Экономика"
Компания NVIDIA выпустила 3 новые модели видеокарт на архитектуре Turing - GeForce RTX 2070, GeForce RTX 2080 и GeForce RTX 2080 Ti - с поддержкой ray-tracing, что считается следующей ступенью развития графики, сообщает портал Gmbox. Эта технология позволяет создавать более реалистичное освещение, вплотную приближенное к реальному. В трассировке лучей новинки обладают производительностью в 6, 8 и 10 млрд лучей в секунду соответственно.
Новинки стоят ощутимых денег. Официальная цена GeForce RTX 2070 Founders Edition составляет 47 990 рублей, GeForce RTX 2080 Founders Edition оценена в 63 990 рублей, а старшая GeForce RTX 2080 Ti Founders Edition обойдётся в 95 990 рублей. Для многих актуален вопрос - стоят ли новые видеокарты своих денег? Прежде всего, разумеется, стоит подождать независимых обзоров, чтобы сделать выводы. На презентации основной упор был сделан на работу с трассировкой лучей в режиме реального времени. Но эту технологию пока что поддерживают не так много игр, да и в целом первые впечатления она оставляет неоднозначные.
Известно, что технологию NVIDIA RTX будут поддерживать следующие игры:
Assetto Corsa Competizione (релиз — 12 сентября 2018)
Atomic Heart (релиз — 2019)
Battlefield V (релиз — 19 октября 2018)
Control (релиз — 2019)
Enlisted (релиз — 2019)
Justice (релиз — TBA)
JX3
MechWarrior 5: Mercenaries (релиз — 2019)
Metro Exodus (релиз — 22 февраля 2019)
ProjectDH
Shadow of the Tomb Raider (релиз — 14 сентября 2018)
Остальные же игры используют привычные ядра CUDA, которых у новинок хоть и стало несколько больше, по сравнению с предшественниками, значительного прироста производительности ждать от них не стоит. Сообщается, что производительность в операциях одинарной точности на числах с плавающей запятой у видеокарты GeForce RTX 2080 Ti составит около 13,45 Тфлопс. Для сравнения у GeForce GTX 1080 Ti этот показатель равен 11,34 Тфлопс. У других новинок и вовсе наблюдается прирост примерно на 1 Тфлопс.
Архитектура Turing позволяет в реальном времени обрабатывать отражения световых лучей и другие кинематографические эффекты, которые помогут сделать игры намного более фотореалистичными. Трассировка лучей (ray-tracing)— это метод построения трёхмерных моделей, в котором используется принцип, аналогичный реальным физическим процессам. Для построения объекта система отслеживает траекторию виртуального луча от экрана к этому самому объекту. На каждой поверхности свойства света сочетаются со свойствами материала, на который он падает, с учетом угла падения. Свет, который, возможно, изменил цвет после отражения, затем отслеживается дальше, используя несколько лучей, которые имитируют отраженный свет — таким образом и происходит трассировка лучей. Процесс отслеживания продолжается до тех пор, пока лучи не покинут сцену.
Хотя этот процесс кажется простым в теории, на практике он невероятно трудоемкий, поскольку часть лучей может вообще не отразиться, часть — отразиться пару раз, а вот другие могут в рамках сцены отражаться почти бесконечно — и все их нужно обсчитать. Абсолютно точный рендеринг требует просто колоссальных затрат со стороны вычислительных мощностей и даже в этом случае это крайне длительный процесс. Об использовании рейтрейсинга в играх в качестве основного метода построения объектов до недавнего времени и говорить не приходилось.
Для примера, для построения изображения разрешением 1024 х 768 пикселей посредством рейтрейсинга необходимо сформировать 768 432 луча. При этом каждый луч может как отражаться, так и преломляться, что в итоге приводит к увеличению количества трассируемых лучей в несколько раз. Именно по этой причине рейтрейсинг используется только там, где не требуется работа рэйтрейсинга в режиме реального времени.
Техника рендеринга с трассировкой лучей отличается высоким реализмом, по сравнению с растеризацией, так как она имитирует распространение лучей света близко к тому, как это происходит в реальности (естественно, все равно не на 100% точно). Трассировка позволяет воссоздать весьма реалистичные тени, отражения и преломления света, и поэтому она давно ценится в архитектурных приложениях и промышленном дизайне. Технология помогает специалистам этой сферы задолго до физического воплощения понять, как будут смотреться материалы при различном освещении в реальном мире.
В 3D-графике в кино и рекламе технология трассировки лучей применяется уже давно, и повсеместно (хотя и не всегда на 100%, кинопроизводители тоже стараются экономить ресурсы). Но, как уже было сказано, рендер "картинки" не происходит в реальном времени - даже на рендер-фермах просчет одного кадра может занимать многие часы. Игровая индустрия давно мечтает о рейтрейсинге, а первые эксперименты по внедрению трассировки лучей в игры датируются 2009-м годом.
В демке Quake Wars: Ray Traced от Intel наглядно демонстрировались плюсы частичной трассировки лучей. Тогда удалось показать тени от объектов сквозь прозрачные поверхности и, естественно, преимущества трассировки при отображении стёкол и отражений. Код запускали на серверной ферме и прототипе видеокарты Larrabee. При разрешении в 720p демо работало при 20-40 кадрах в секунду, что было очень достойным результатом для того времени. Развитием этой демонстрации стал проект Wolfenstein: Ray Traced, который воплощал «облачный» подход работы с технологией, но дальше технодемок у Intel дело не пошло. Ускоритель Larrabee отменили, а в свежие процессоры Intel и вовсе ставят графику от AMD.
Очень ограниченное использование трассировки лучей было реализовано в Killzone Shadowfall, где малую часть отражаемых объектов отрабатывал алгоритм «ray-trace 2.5D». Схожие техники коррекции локальных отражений использовал и Crysis 3. Сейчас для отрисовки отражений часто используется эффект screen space reflections, который позволяет получить относительно неплохие отражения при минимуме ресурсов и в реальном времени. Проблема только в том, что как только отражаемый объект пропадает из поля зрения камеры, он пропадает и в отражении. Артефакты SSR — частое явление.
Рейтрейсинг в картах NVIDIA RTX не предполагает применение на всю сцену, используется гибридный подход, когда какие-то элементы кадра считаются с использованием старых хитрых способов, а какие-то элементы, вроде отражений и некоторых теней, отрабатывает трассировка лучей. Сами авторы технологии признают, что для замены всех способов имитации глобального освещения на трассировку потребуются годы.
Новинки стоят ощутимых денег. Официальная цена GeForce RTX 2070 Founders Edition составляет 47 990 рублей, GeForce RTX 2080 Founders Edition оценена в 63 990 рублей, а старшая GeForce RTX 2080 Ti Founders Edition обойдётся в 95 990 рублей. Для многих актуален вопрос - стоят ли новые видеокарты своих денег? Прежде всего, разумеется, стоит подождать независимых обзоров, чтобы сделать выводы. На презентации основной упор был сделан на работу с трассировкой лучей в режиме реального времени. Но эту технологию пока что поддерживают не так много игр, да и в целом первые впечатления она оставляет неоднозначные.
Известно, что технологию NVIDIA RTX будут поддерживать следующие игры:
Assetto Corsa Competizione (релиз — 12 сентября 2018)
Atomic Heart (релиз — 2019)
Battlefield V (релиз — 19 октября 2018)
Control (релиз — 2019)
Enlisted (релиз — 2019)
Justice (релиз — TBA)
JX3
MechWarrior 5: Mercenaries (релиз — 2019)
Metro Exodus (релиз — 22 февраля 2019)
ProjectDH
Shadow of the Tomb Raider (релиз — 14 сентября 2018)
Остальные же игры используют привычные ядра CUDA, которых у новинок хоть и стало несколько больше, по сравнению с предшественниками, значительного прироста производительности ждать от них не стоит. Сообщается, что производительность в операциях одинарной точности на числах с плавающей запятой у видеокарты GeForce RTX 2080 Ti составит около 13,45 Тфлопс. Для сравнения у GeForce GTX 1080 Ti этот показатель равен 11,34 Тфлопс. У других новинок и вовсе наблюдается прирост примерно на 1 Тфлопс.
Архитектура Turing позволяет в реальном времени обрабатывать отражения световых лучей и другие кинематографические эффекты, которые помогут сделать игры намного более фотореалистичными. Трассировка лучей (ray-tracing)— это метод построения трёхмерных моделей, в котором используется принцип, аналогичный реальным физическим процессам. Для построения объекта система отслеживает траекторию виртуального луча от экрана к этому самому объекту. На каждой поверхности свойства света сочетаются со свойствами материала, на который он падает, с учетом угла падения. Свет, который, возможно, изменил цвет после отражения, затем отслеживается дальше, используя несколько лучей, которые имитируют отраженный свет — таким образом и происходит трассировка лучей. Процесс отслеживания продолжается до тех пор, пока лучи не покинут сцену.
Для примера, для построения изображения разрешением 1024 х 768 пикселей посредством рейтрейсинга необходимо сформировать 768 432 луча. При этом каждый луч может как отражаться, так и преломляться, что в итоге приводит к увеличению количества трассируемых лучей в несколько раз. Именно по этой причине рейтрейсинг используется только там, где не требуется работа рэйтрейсинга в режиме реального времени.
Техника рендеринга с трассировкой лучей отличается высоким реализмом, по сравнению с растеризацией, так как она имитирует распространение лучей света близко к тому, как это происходит в реальности (естественно, все равно не на 100% точно). Трассировка позволяет воссоздать весьма реалистичные тени, отражения и преломления света, и поэтому она давно ценится в архитектурных приложениях и промышленном дизайне. Технология помогает специалистам этой сферы задолго до физического воплощения понять, как будут смотреться материалы при различном освещении в реальном мире.
В 3D-графике в кино и рекламе технология трассировки лучей применяется уже давно, и повсеместно (хотя и не всегда на 100%, кинопроизводители тоже стараются экономить ресурсы). Но, как уже было сказано, рендер "картинки" не происходит в реальном времени - даже на рендер-фермах просчет одного кадра может занимать многие часы. Игровая индустрия давно мечтает о рейтрейсинге, а первые эксперименты по внедрению трассировки лучей в игры датируются 2009-м годом.
Очень ограниченное использование трассировки лучей было реализовано в Killzone Shadowfall, где малую часть отражаемых объектов отрабатывал алгоритм «ray-trace 2.5D». Схожие техники коррекции локальных отражений использовал и Crysis 3. Сейчас для отрисовки отражений часто используется эффект screen space reflections, который позволяет получить относительно неплохие отражения при минимуме ресурсов и в реальном времени. Проблема только в том, что как только отражаемый объект пропадает из поля зрения камеры, он пропадает и в отражении. Артефакты SSR — частое явление.
Рейтрейсинг в картах NVIDIA RTX не предполагает применение на всю сцену, используется гибридный подход, когда какие-то элементы кадра считаются с использованием старых хитрых способов, а какие-то элементы, вроде отражений и некоторых теней, отрабатывает трассировка лучей. Сами авторы технологии признают, что для замены всех способов имитации глобального освещения на трассировку потребуются годы.