Xtreme3D Community
PBR and CSM - Версия для печати

+- Xtreme3D Community (https://xtreme3d.ru/forums)
+-- Форум Xtreme3D (https://xtreme3d.ru/forums/forumdisplay.php?fid=3)
+--- Форум Вопросы и ответы (https://xtreme3d.ru/forums/forumdisplay.php?fid=6)
+--- Темы: PBR and CSM (/showthread.php?tid=12)

Страницы: 1 2 3


PBR and CSM - Gecko - 08-22-2018

Тумана нет в шейдере, могу добавить.


PBR and CSM - van88268 - 08-22-2018

добавь если не сложн Smile
а emission работает на pbr ?
что бы сделать такое
[Изображение: EM_Emissive_Lighting_World.jpg]


PBR and CSM - Gecko - 08-22-2018

Emission можно добавить, если там есть свободные текстурные блоки, но с добавлением CSM вроде уже не осталось.


PBR and CSM - van88268 - 08-22-2018

ну было бы круто если emission добавить , а что текстурные блоки не можн добавить ?
и есть ли планах на будущее доработка шейдеров разных ?
например добавить процедурный шейдер атмосферы неба как в юнити.
вот что то нашел : ссылка
и получиться что то на подобие такого:
[video=300,250]http://youtu.be/Hj55-dyXhNM[/video]
[Изображение: atmosphere.png]


PBR and CSM - FireRun - 08-24-2018

Хех, кому что), а мне не хватает воды как в Cry Engine, с туманом под водой плавно уходящим в глубь воды Smile В общем надо учить язык шейдеров, все это можно добавить в игру не добавляя специальных функция в X3D, но надо иметь крутые знания в GLSL, Gecko колись, как учил GLSL? Smile


PBR and CSM - Gecko - 08-24-2018

Цитата:а что текстурные блоки не можн добавить ?
Можно, если драйвер позволяет. Но OpenGL гарантирует только блоки 0-8, дальше уже на свой страх и риск.

Цитата:и есть ли планах на будущее доработка шейдеров разных ?
например добавить процедурный шейдер атмосферы неба как в юнити.
Похоже на небо Rayleigh, вполне можно добавить. Но Rayleigh мне кажется слишком медленным для игр, слишком тяжелые там вычисления в пиксельном шейдере. Я в своем движке использую упрощенную модель неба с несколькими градиентами, которая выглядит вот так:
[Изображение: sky.jpg]
Можно реализовать оба варианта.

Цитата:а мне не хватает воды как в Cry Engine, с туманом под водой плавно уходящим в глубь воды
Так в SDK же есть пример такой воды, там видно затуманивание, если выйти за пределы карты.


PBR and CSM - van88268 - 08-24-2018

1)тогда тени думаю лучше сделать отдельно как раньше но при этом они будут ли работать на pbr ?
Если тени будут работать норм в отдельном шейдере то это шик и тогда можн добавить emission к pbr .
2)туман под водой есть и сделать легко под водой красиво но проблема в том будет ли виден меш воды именно под ним ?
в обычных случаях не виден ибо это планка обычная и для этого либо переворачивать как то воду либо шейдер писать .


PBR and CSM - Gecko - 08-24-2018

Цитата:тогда тени думаю лучше сделать отдельно как раньше но при этом они будут ли работать на pbr ?

Не совсем представляю себе, как тени могут работать в отдельном шейдере. Разве что сделать отдельный проход для теней, а потом в постпроцессе комбинировать, но тогда, имхо, это будет уже не совсем честный PBR. Но попробовать можно.


PBR and CSM - van88268 - 08-24-2018

как тогда делают в различных движках тени? , жаль канешн с emision было бы атмосфера все дела ))
лан тогда туман добавь в этот когда будет время .
Gecko Написал:Пример готов: ссылка.
Портировал его на 3.7 и дополнительно сделал привязку источника света к теневой камере.
вот в юньке 9 карт вроде же и норм [Изображение: bb7f184a94eb2bea5a14fa9bdf540cdf.jpg]


PBR and CSM - Gecko - 08-25-2018

Ну я в своем движке, например, каскады CSM храню как текстурный массив, так что они занимают один блок, но эта фича появилась только в OpenGL 3.0. GLScene нельзя сравнивать с современными движками, там используются сильно устаревшие технологии, поэтому в любом случае придется чем-то жертвовать.
Юнити, скорее всего, объединяет некоторые текстуры (я, например, в своем движке объединяю). Height может идти как альфа-канал normal, PBR-текстуры тоже легко объединяются в одну. В Xtreme так тоже можно, но только вручную, что не очень удобно.
К тому же, при использовании deferred shading расход текстур немного снижается, потому что некоторые операции можно вынести в этап построения G-buffer'а (например, тот же emission, который сразу записывается в результирующий HDR-буфер). Но у нас тут пока возможен только forward shading, так что имеем что имеем.
Но вообще я думаю, что все современные видеокарты должны поддерживать как минимум 16 блоков, так что ничего страшного в том, чтобы выйти за 9 текстур, нет (использование GLSL - это уже само по себе выход за пределы возможностей OpenGL 1.x). Единственное, что может препятствовать - ограничение в GLScene, где сейчас есть только 8 слотов для текстур TextureEx в материале, но я могу повысить до 16.