08-22-2018, 02:40 PM
Тумана нет в шейдере, могу добавить.
PBR and CSM
|
08-22-2018, 02:40 PM
Тумана нет в шейдере, могу добавить.
добавь если не сложн
![]() а emission работает на pbr ? что бы сделать такое ![]()
08-22-2018, 03:54 PM
Emission можно добавить, если там есть свободные текстурные блоки, но с добавлением CSM вроде уже не осталось.
ну было бы круто если emission добавить , а что текстурные блоки не можн добавить ?
и есть ли планах на будущее доработка шейдеров разных ? например добавить процедурный шейдер атмосферы неба как в юнити. вот что то нашел : ссылка и получиться что то на подобие такого: [video=300,250]http://youtu.be/Hj55-dyXhNM[/video] ![]()
08-24-2018, 12:14 PM
Хех, кому что), а мне не хватает воды как в Cry Engine, с туманом под водой плавно уходящим в глубь воды
![]() ![]()
Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor
08-24-2018, 02:09 PM
Цитата:а что текстурные блоки не можн добавить ?Можно, если драйвер позволяет. Но OpenGL гарантирует только блоки 0-8, дальше уже на свой страх и риск. Цитата:и есть ли планах на будущее доработка шейдеров разных ?Похоже на небо Rayleigh, вполне можно добавить. Но Rayleigh мне кажется слишком медленным для игр, слишком тяжелые там вычисления в пиксельном шейдере. Я в своем движке использую упрощенную модель неба с несколькими градиентами, которая выглядит вот так: ![]() Можно реализовать оба варианта. Цитата:а мне не хватает воды как в Cry Engine, с туманом под водой плавно уходящим в глубь водыТак в SDK же есть пример такой воды, там видно затуманивание, если выйти за пределы карты.
08-24-2018, 05:16 PM
1)тогда тени думаю лучше сделать отдельно как раньше но при этом они будут ли работать на pbr ?
Если тени будут работать норм в отдельном шейдере то это шик и тогда можн добавить emission к pbr . 2)туман под водой есть и сделать легко под водой красиво но проблема в том будет ли виден меш воды именно под ним ? в обычных случаях не виден ибо это планка обычная и для этого либо переворачивать как то воду либо шейдер писать .
08-24-2018, 05:25 PM
Цитата:тогда тени думаю лучше сделать отдельно как раньше но при этом они будут ли работать на pbr ? Не совсем представляю себе, как тени могут работать в отдельном шейдере. Разве что сделать отдельный проход для теней, а потом в постпроцессе комбинировать, но тогда, имхо, это будет уже не совсем честный PBR. Но попробовать можно.
как тогда делают в различных движках тени? , жаль канешн с emision было бы атмосфера все дела ))
лан тогда туман добавь в этот когда будет время . Gecko Написал:Пример готов: ссылка.вот в юньке 9 карт вроде же и норм ![]()
08-25-2018, 06:12 AM
Ну я в своем движке, например, каскады 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. |
« Предыдущая | Следующая »
|