SLI (Scalable Link Interface) – «масштабируемый интерфейс соединения» — технология компании NVIDIA, используемая для увеличения производительности в играх при помощи связки нескольких одинаковых видеокарт. SLI позволяет получить почти трехкратный прирост производительности, при использовании двух видеоадаптеров, и почти четырехкратный прирост производительности в связке из трех видеокарт. Также, используя SLI, можно отдельно назначать какой видеоадаптер будет отвечать за основную графику в игре, а какой за технологию PhysX, причем в данном случае не требуется установка двух одинаковых графических адаптеров.
CrossfireX – технология компании AMD, аналогичная Nvidia SLI. CrossFireX позволяет увеличить производительность в играх, за счет объединения мощностей нескольких одинаковых видеоадаптеров в одну мощную графическую систему.
Более подробно про технологии SLI и Crossfire мы писали в отдельном материале «Все, что вы хотели знать про SLI и CrossfireX, но боялись спросить»
ЧТО ВЫБРАТЬ ? SSAO, HBAO,HBAO+, HDAO, VXAO
EyeFinity
EyeFinity – технология компании AMD, позволяющая подключать к ПК несколько дисплеев. EyeFinity позволяет использовать до 6 мониторов одновременно как в играх, так и в других задачах при работе с компьютером. Благодаря данной технологии пользователи получили возможность выставлять в разы большее разрешение в играх, что поможет увеличить «игровой обзор» т.е. позволит «видеть больше», чем на одном мониторе.
ShadowWorks (PhysX, HBAO+, PCSS, TXAA)
ShadowWorks – набор графических технологий, созданных компанией NVIDIA для улучшения графической составляющей видеоигр, связанных с тенями, некоторые из которых используются как видеоадаптерами компании NVIDIA, так и видеокартами производства компании AMD.
HBAO+ (Horizon-Based Ambient Occlusion Plus) – продвинутая технология локального затенения, которая входит в набор графических технологий, созданных компанией NVIDIA – ShadowWorks. HBAO+ имитирует рассеянное освещение объектов, которое зависит от источника света и геометрии объекта. В результате, технология HBAO+ определяет источник счета и с помощью сложнейших вычислений правильно рассчитывает, как должна падать тень от объекта в зависимости от его геометрического устройства.
Восстановление положения во view space из глубины и проецирование обратно:
uniform vec2 clipPlanes; uniform vec2 texCoordScales; #define NEAR clipPlanes.x #define FAR clipPlanes.y float restoreViewSpaceDistance( in float depth) < return ( 2.0 * NEAR * FAR) / ( depth * ( FAR — NEAR) — FAR — NEAR); > vec3 restoreViewSpacePosition( in vec2 texCoords, in float depth) < return vec3( texCoords * texCoordScales, 1.0) * restoreViewSpaceDistance( depth); > float projectViewSpaceDistance( in float z) < return ( 2.0 * NEAR * FAR / z + FAR + NEAR) / ( FAR — NEAR); > vec3 projectViewSpacePosition( in vec3 viewSpace) < return 0.5 + 0.5 * vec3( ( viewSpace.xy / texCoordScales) / viewSpace.z, projectViewSpaceDistance( viewSpace.z)); >
clipPlanes — это расстояние до ближней и дальней плоскости отсечения (то, что мы скармливаем в функцию установки перспективной проекции).
texCoordScales — компоненты обратной матриции проекции взятые со знаком минус.
texCoordScales = vec2( -inverseProjectionMatrix[0][0], -inverseProjectionMatrix[1][1]).
Они необходимы для правильного восстановления позиции с учетом угла обзора и пропорций вьюпорта.
Вообще, в демке много чего есть, кроме затенения и отражения света:
Ссылки по теме
Как я уже говорил в начале, данная реализация является самой простой и прямолинейной. Вот ссылки на некоторые другие техники, которые используются в играх:
17 января 2015 (Обновление: 13 мар 2015)
Источник: gamedev.ru