NVIDIA RTX през 2020, Част I

В раздел: Ревюта, статии и ръководства, Статии от на 9.03.2020, 24,924 показвания
Страница от ревюто: 1 2 3 4 5 6 7 8 9 10



NVIDIA RTX

Изчислението на рейтрейсинг може да се реализира и като „прост“ compute кернел, който да се изпълнява под формата на изчислителна програма върху изчислителните елементи на графичния процесор. И всъщност именно това използват от NVIDIA за работата на RTX върху Pascal архитектурата си. Това обаче си остава тежка задача. За това в по-високия клас Turing ускорители има вграден хардуер, който ускорява част от процесите. В случая става дума за т.нар. Ray Tracing Cores, чиято задача е ускорението на проверката за попадане на лъчите в т.нар. Bounding volumes, или ограничаващи обеми, което е един от „хаковете“ за ускорение на рейтрейсинга, както и за изчислението на финалния етап на тази проверка – пресича ли лъча даден триъгълник. Използването на RT ядрата според компанията може да ускори до 10 пъти този етап, но разбира се това е само един от етапите в целия процес, така че не може да очаквате автоматично, че рейтрейсингът ще се изпълнява 10 пъти по-бързо. Все пак това води до много съществено намаление на времето.

 

 

Така или иначе самият процес остава изключително изчислително интензивен. Ако добавим към това факта, че съвременните графични адаптери са изключително ефективни в текстурирането, геометричната обработка на полигоните и прилагането на различни шейдерни ефекти, не може да очаквате сцените да бъдат изцяло обработени само с рейтрейсинг. В края на краищата при използването на професионален софтуер за 3D графика рендерирането на един кадър все още отнема минути, а какво да говорим за примерно поне 25-30 такива кадъра за една секунда анимация.

 

За това за момента в игрите се използва хибриден подход – сцената се създава основно с помощта на растеризация, като рейтрейсингът са използва само с реализацията на сложните светлинни ефекти, които отнемат много време. Тук можем да разделим основно 3 области, за които технологията е особено ефективна:

– изчисление на отражения и пречупвания – това е най-очевидната полза от технологията, като за разлика от растеризация не се налага създаването на предварителни карти на наличните обекти или рендериране на изображението в текстура и т.н. Още повече че в този случай могат да се решат много лесно проблеми, (почти) нерешими за досегашните начини за изчисление на отраженията, като например отражение в дадена повърхност на обект, който се намира зад друг в линията на зрението.

– глобално осветление и occlusion culling – Друга изключително тежка задача за решаване с растеризация, тъй като е изключително трудно да се симулират обемни източници на светлина, като примерно небето. Обикновено за целта се използват предварително генерирани карти за осветлението спрямо повърхностите, но това първо предполага много предварителна работа за дизайнерите и после идват потенциалните проблеми, когато се използват допълнителни ефекти за симулиране на неравни повърхности, както и фактът че няма как да се реагира на подвижни източници на светлина, примерно от факла или фенер, държан от персонажа.

– сенки – отново една много тежка задача за растерните енджини, особено когато се налага да се симулират ефектите от полупрозрачни повърхности или от растителност. Особено ако се опитвате да правите реалистични меки сенки според разстоянието от източника на светлина.

 

 

Така че на този етап RTX предлага ускорение на тези 3 основни функции в комбинация със стандартен растерен рендъринг на останалата част от изображението, за да може да се използва при типичните в наши дни резолюции. Отделните игри за момента рядко използват и 3-те метода едновременно, като по-често се използва само една от трите възможности, тъй като дори и така, рейтрейсингът остава все още много тежка задача.



Всички страници от статията:

  1. Растеризация и рейтрейсинг
  2. Nvidia RTX
  3. DLSS
  4. Поддръжка в приложенията
  5. Battlefield V
  6. Metro Exodus
  7. Shadow of the Tomb Rider
  8. Control
  9. Wolfenstein: Young Blood
  10. Заключение


Страница от ревюто: 1 2 3 4 5 6 7 8 9 10




Етикети: , , , , ,



Коментари: