![]() |
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) |
PBR and CSM - Gecko - 08-22-2018 Тумана нет в шейдере, могу добавить. PBR and CSM - van88268 - 08-22-2018 добавь если не сложн ![]() а emission работает на pbr ? что бы сделать такое ![]() 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] ![]() PBR and CSM - FireRun - 08-24-2018 Хех, кому что), а мне не хватает воды как в Cry Engine, с туманом под водой плавно уходящим в глубь воды ![]() ![]() PBR and CSM - Gecko - 08-24-2018 Цитата:а что текстурные блоки не можн добавить ?Можно, если драйвер позволяет. Но OpenGL гарантирует только блоки 0-8, дальше уже на свой страх и риск. Цитата:и есть ли планах на будущее доработка шейдеров разных ?Похоже на небо Rayleigh, вполне можно добавить. Но Rayleigh мне кажется слишком медленным для игр, слишком тяжелые там вычисления в пиксельном шейдере. Я в своем движке использую упрощенную модель неба с несколькими градиентами, которая выглядит вот так: ![]() Можно реализовать оба варианта. Цитата:а мне не хватает воды как в 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 Написал:Пример готов: ссылка.вот в юньке 9 карт вроде же и норм ![]() 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. |