Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
PBR and CSM
#11
Тумана нет в шейдере, могу добавить.
Ответ
#12
добавь если не сложн Smile
а emission работает на pbr ?
что бы сделать такое
[Изображение: EM_Emissive_Lighting_World.jpg]
..//((( 
(((•.•)))            [ins] YOU TUBE [/ins]                இ}~ڿڰۣ-ڰۣ~—
..◢█◣
_./..I
Ответ
#13
Emission можно добавить, если там есть свободные текстурные блоки, но с добавлением CSM вроде уже не осталось.
Ответ
#14
ну было бы круто если emission добавить , а что текстурные блоки не можн добавить ?
и есть ли планах на будущее доработка шейдеров разных ?
например добавить процедурный шейдер атмосферы неба как в юнити.
вот что то нашел : ссылка
и получиться что то на подобие такого:
[video=300,250]http://youtu.be/Hj55-dyXhNM[/video]
[Изображение: atmosphere.png]
..//((( 
(((•.•)))            [ins] YOU TUBE [/ins]                இ}~ڿڰۣ-ڰۣ~—
..◢█◣
_./..I
Ответ
#15
Хех, кому что), а мне не хватает воды как в Cry Engine, с туманом под водой плавно уходящим в глубь воды Smile В общем надо учить язык шейдеров, все это можно добавить в игру не добавляя специальных функция в X3D, но надо иметь крутые знания в GLSL, Gecko колись, как учил GLSL? Smile
Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor
Ответ
#16
Цитата:а что текстурные блоки не можн добавить ?
Можно, если драйвер позволяет. Но OpenGL гарантирует только блоки 0-8, дальше уже на свой страх и риск.

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

Цитата:а мне не хватает воды как в Cry Engine, с туманом под водой плавно уходящим в глубь воды
Так в SDK же есть пример такой воды, там видно затуманивание, если выйти за пределы карты.
Ответ
#17
1)тогда тени думаю лучше сделать отдельно как раньше но при этом они будут ли работать на pbr ?
Если тени будут работать норм в отдельном шейдере то это шик и тогда можн добавить emission к pbr .
2)туман под водой есть и сделать легко под водой красиво но проблема в том будет ли виден меш воды именно под ним ?
в обычных случаях не виден ибо это планка обычная и для этого либо переворачивать как то воду либо шейдер писать .
..//((( 
(((•.•)))            [ins] YOU TUBE [/ins]                இ}~ڿڰۣ-ڰۣ~—
..◢█◣
_./..I
Ответ
#18
Цитата:тогда тени думаю лучше сделать отдельно как раньше но при этом они будут ли работать на pbr ?

Не совсем представляю себе, как тени могут работать в отдельном шейдере. Разве что сделать отдельный проход для теней, а потом в постпроцессе комбинировать, но тогда, имхо, это будет уже не совсем честный PBR. Но попробовать можно.
Ответ
#19
как тогда делают в различных движках тени? , жаль канешн с emision было бы атмосфера все дела ))
лан тогда туман добавь в этот когда будет время .
Gecko Написал:Пример готов: ссылка.
Портировал его на 3.7 и дополнительно сделал привязку источника света к теневой камере.
вот в юньке 9 карт вроде же и норм [Изображение: bb7f184a94eb2bea5a14fa9bdf540cdf.jpg]
..//((( 
(((•.•)))            [ins] YOU TUBE [/ins]                இ}~ڿڰۣ-ڰۣ~—
..◢█◣
_./..I
Ответ
#20
Ну я в своем движке, например, каскады 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.
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 6 Гость(ей)