Welcome, guest. You can be a Login или register
1 « Previous 150 151 152 153 Next » | All
Author
Topic title
Сергий_Радонежский
Offline
16 posts
Karma 0
Запилил Screen Space Local Reflections (SSLR)

круто смотрится
Берсеркер
Offline
Суровый челябинский программист
2288 posts
Karma 208
Большое обновление всех 3 проектов на базе idTech3:
Berserker@idTech3_20181209.rar

1. Карты размытия:
r_blurMap “1” CVAR_ARCHIVE
включает карты размытия для прозрачных и зеркальных плоскостей.
r_blurMapQuality “1” CVAR_ARCHIVE
при 1 включает интерполяцию между базовыми уровнями размытия. Требует 2 чтения из текстуры вместо 1.
При 0 теоретически можно получить прибавку FPS при некоторой потере качества

Карта размытия одноканальная, хранится в distortion-текстуре в альфа-канале.


2. Screen Space Local Reflections (SSLR):
r_sslr “1” CVAR_ARCHIVE
включает эффект SSLR.
Следует помнить, что SSLR не полноценные отражения, это post-процесс, использующий текстуру экранного буфера. Т.е. отражаться будет только то, что нарисовано на экране. Эффект относительно дешевый, но даёт заметное улучшение картинки. Технология имеет свои артефакты, которые следует прятать применением карт нормалей. Таким образом, SSLR никак не заменяет стандартные Q3-зеркала.
Для классических материалов Specular/Gloss:
Яркость отражений зависит от карты specular, размытие отражений зависит от карты gloss (альфа-канал текстуры specular)
Для PBR материалов:
Яркость отражений зависит от карты metallic, размытие отражений зависит от карты roughness.

Отражения на непрозрачных материалах:


Пример отражений на материале без карты нормалей:


Отражения на воде:


3. Ввиду того, что для BlurMapping и SSLR активно применяются текстуры экрана с разной детализацией, расширение GL_EXT_framebuffer_blit теперь является обязательным для PPL-рендеров.
Параметр r_ext_framebuffer_blit теперь не хранимый.

4. Вернул возможность чтения параметров из материалов. Рекомендую отключать стейджи материалов, рисующие хром-эффект, если включен эффект SSLR. Пример:

{
if (cvar(r_sslr)==0 || cvar(r_ppl)==0) // Enables this stage if R_PPL=0 or R_SSLR=0
map textures/effects/tinfx2.tga
blendFunc GL_ONE GL_ONE
tcgen environment
rgbGen identity
}


5. Новые токены материалов (только для полупрозрачных, т.к. непрозрачные материалы автоматически отражают, в зависимости от своих свойств):
SSLR как свойство материала целиком.
SSLR как свойство отдельного стейджа.
Первый вариант следует применять для материалов воды или стекла, без каких либо непрозрачных стейджей (слоёв).
Второй - для слоёв, обозначающие стекла или что то подобное, полупрозрачное. SSLR-слой должен быть единственный в материале, SSLR уровня целого материала имеет высший приоритет.
Пример SSLR для всего материала воды:

textures/liquids/clear_ripple1

// *********************************************************
// * Large clear ripple water. Created September 9 *
// *********************************************************

{
qer_editorimage textures/liquids/pool3d_3.tga
qer_trans .5
q3map_globaltexture
surfaceparm trans
surfaceparm nonsolid
surfaceparm water

cull disable
deformVertexes wave 64 sin .5 .5 0 .5
sslr

{
map textures/liquids/pool3d_5.tga
...

6. Параметр cg_viewsize удален. Уменьшение экрана imho не применяется давно, с его удалением подпрограммы post-процессов (DoF, Bloom, SSLR и пр.) стали проще.

7. Исправлен эффект Bloom, текстура была не float-формата, оттого HDR для bloom не работал.

8. Вычищен Anaglyph-стереорежим (cg_stereo = 2), выкинуты цветовые пары, которых быть не может. Актуальное:
r_anaglyphMode = 0 RED_CYAN
r_anaglyphMode = 1 YELLOW_BLUE
r_anaglyphMode = 2 MAGENTA_GREEN
r_anaglyphMode = 3 CYAN_RED
r_anaglyphMode = 4 BLUE_YELLOW
r_anaglyphMode = 5 GREEN_MAGENTA

9. Цветокоррекция color vibrance:
r_colorVibrance “0” CVAR_ARCHIVE, CVAR_LATCH При 1 включает цветокоррекцию.
r_rgbVibrance "0.5" CVAR_ARCHIVE
r_rgbBalance_red "1" CVAR_ARCHIVE
r_rgbBalance_green "1" CVAR_ARCHIVE
r_rgbBalance_blue "1" CVAR_ARCHIVE
Подробно см. тут: Color Vibrance

10. vid_DPIAware “1” CVAR_ROM
Если масштаб шрифтов рабочего стола отличается от 100%, то при 1 пытаемся вызвать SetProcessDpiAwareness для корректного отображения окна игры. При 0 (или при неудачном вызове SetProcessDpiAwareness) применяем свой алгоритм для масштабирования окна.

11. Прочие мелкие косметические изменения...
Машина несла меня через неведомые районы Галактики сквозь пространство математической реальности быстрее скорости света. (C) Фред Саберхаген.
Eugeny
Offline
196 posts
Karma 10
Вау, крутяк!!!
V_2540
Offline
My hair burned in Hell
451 posts
Karma 79
Надо заценить
CPU-i9 9900k,RAM-32 Gb,Video-Nvidia Titan V


V_2540
Offline
My hair burned in Hell
451 posts
Karma 79
Надо заценить
CPU-i9 9900k,RAM-32 Gb,Video-Nvidia Titan V


Yoshik
Offline
...from the dark corners of the soul...
19 posts
Karma 0
Впечетляет
C.Z.R
Offline
117 posts
Karma 2
Берсеркер Great improvement! Can you add this sslr option for textures like normal map or pbr works? I mean for example "weapon@sslr.tga" and in this file select by color - what part should be chrome/more reflections.

With this option we can make primitive mirror.
Берсеркер
Offline
Суровый челябинский программист
2288 posts
Karma 208
C.Z.R:
If you want to see environment reflections on the weapons,
just make materials for weapons,
speculate part of lighting is contains a reflections.
I not recommend to use SSLR for a real mirrors, SSLR has some artifacts,
we must hide artifacts by using a bluring, roughness and etc.
Машина несла меня через неведомые районы Галактики сквозь пространство математической реальности быстрее скорости света. (C) Фред Саберхаген.
1 « Previous 150 151 152 153 Next » | All