forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Xors3D (http://forum.boolean.name/forumdisplay.php?f=126)
-   -   Шейдеры освещение (http://forum.boolean.name/showthread.php?t=17174)

dsd 13.08.2012 17:30

Ответ: Шейдеры освещение
 
Ничего дополнительного с моделями делать не надо.
Просто центр в такой текстуре это позиция камеры. А после умножения на мировую и видовую матрицу у вершин координаты можно использовать как текстурные. Если наша лайтмапа охватывает 64 единицы от камеры, то соответственно делим координаты вершин на 128 и плюсуем 0,5. И вуаля нужные координаты для чтения значения из текстуры.

pax 13.08.2012 17:44

Ответ: Шейдеры освещение
 
Ну это только с 3d текстурой, нормально выйдет, а 256х256х256 = 64мб видеопамяти не сжатых. Если есть какое-то dxt то еще ладно.

dsd 13.08.2012 17:52

Ответ: Шейдеры освещение
 
Ну так я и говорю потому что сжульничать можно :) Да и 3д текстуру 256*256*256 уже довольно долго делать. А вот если мир относительно плоский и источники света примерно в одной плоскости лежат...

FREE MAN 13.08.2012 19:46

Ответ: Шейдеры освещение
 
Цитата:

Сообщение от pax (Сообщение 236112)
Как бэ шейдеры не резиновые) точнее резиновые но не на столько)

Да. Я в курсе, на счёт этого. Шейдеры нужно использовать с умом!


Цитата:

Сообщение от MoKa (Сообщение 236119)
Прикольно, только да, шейдеры не резиновые. И
"динамичные" циклы - очень дорогое удовольствие в шейдерах.
Деферред не такой и сложный на самом деле, главное понять фишку.
Реализовать его можно не затрудняясь сильно, ты главное попробуй.

пока что изучаю, скорей всего придется и написать Деферред.
в последних моих скринах освещения можно использовать в коридорных шутерах типа Doom3,
можно сделать скажем 4-8 источников освещения и просто потом перемещать источники освещения в зависимости где находится камера или игрок.

Цитата:

Сообщение от Amatsu (Сообщение 236115)
А ты не мог бы поделиться нормал-мапом с последнего скриншота? Заранее спасибо

Держи!

moka 13.08.2012 21:05

Ответ: Шейдеры освещение
 
В камере не думаю что должно быть слишком много источников, но дело в том что всё усложняется с усложнением материалов. Например если тебе нужно сделать параллакс, и тени, то у тебя всё ещё в разы усложниться.
Когда в дефферед, это будет намного оптимальнее.
Тем более вес вычислений на каждый источник света в деферреде намного меньше чем в Forward Render'инге. Также есть удобные Screen Space оптимизации - исходя из радиуса источника света, положения и камеры, то можно вычислить Screen Space Bounding Box источника света, и при вычислении очередного света, создавать биллбоард именно такого размера - это очень сильно улучшит производительность. А если Bounding Box не в экране - так вообще игнорируется источник света и просчёт его.
Такое на Forward Render'инге замахаешься делать..

FREE MAN 19.08.2012 13:57

Ответ: Шейдеры освещение
 
Балуюсь дальше...:-D

4yBa4Ok 19.08.2012 17:32

Ответ: Шейдеры освещение
 
оч красиво) А поделиться могеш?)

FREE MAN 19.08.2012 17:38

Ответ: Шейдеры освещение
 
Цитата:

Сообщение от 4yBa4Ok (Сообщение 236683)
оч красиво) А поделиться могеш?)

что именно надо? освещение простое, тут стандартные тени Xors-а, Bloom тоже стандартный(тормозной)

Mr_F_ 19.08.2012 17:56

Ответ: Шейдеры освещение
 
а чего всё мыльное? без АА, при этом лесенки пикселей ещё каким-то блюром пожёваны.
либо постэффект-квад сдвинут немного, либо неправильные текскоорды для него считаются.

FREE MAN 19.08.2012 21:01

Ответ: Шейдеры освещение
 
Сделал 10 источников света! девять лампочек и глобальный свет.
http://www.youtube.com/watch?v=NNdLDusP21U

FREE MAN 19.08.2012 21:14

Ответ: Шейдеры освещение
 
Цитата:

Сообщение от Mr_F_ (Сообщение 236688)
а чего всё мыльное? без АА, при этом лесенки пикселей ещё каким-то блюром пожёваны.
либо постэффект-квад сдвинут немного, либо неправильные текскоорды для него считаются.

Это и за блума так мыльно смотрится. поковыряю шейдеры и исправлю, а то действительно лесенка очень заметна!.

Mr_F_ 19.08.2012 22:00

Ответ: Шейдеры освещение
 
на последних скринах вроде пофиксил ты.
а, так там просто блум выкл?

в общем в DX9 есть такой прикол, что чтобы корректно рисовать фулскрин картинку в постэффекте, надо сдвигаться на пол-пикселя:
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

если ты юзаешь что-то из встроенных постэффектов, скорее всего там всё корректно, тогда значит ты возможно создаёшь постэффект с какими-нибудь не теми флагами.
я щас не в теме, в ксорсе какая-то новая работа с постэффектами, когда я работал, там с постэффект-квадом можно было работать как с ентити (теми же командами ставить параметры шейдера - и имхо удобнее было), вот тогда при создании квада был какой-то флажок, в одном состоянии всё выходило криво, в другом нормально.

FREE MAN 19.08.2012 22:12

Ответ: Шейдеры освещение
 
Цитата:

Сообщение от Mr_F_ (Сообщение 236708)
на последних скринах вроде пофиксил ты.
а, так там просто блум выкл?

в общем в DX9 есть такой прикол, что чтобы корректно рисовать фулскрин картинку в постэффекте, надо сдвигаться на пол-пикселя:
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

если ты юзаешь что-то из встроенных постэффектов, скорее всего там всё корректно, тогда значит ты возможно создаёшь постэффект с какими-нибудь не теми флагами.
я щас не в теме, в ксорсе какая-то новая работа с постэффектами, когда я работал, там с постэффект-квадом можно было работать как с ентити (теми же командами ставить параметры шейдера - и имхо удобнее было), вот тогда при создании квада был какой-то флажок, в одном состоянии всё выходило криво, в другом нормально.

да, я там выключил блум. Он очень прожорливый, время будет надо свой будет накарябыть.

4yBa4Ok 19.08.2012 22:35

Ответ: Шейдеры освещение
 
Вау, а выложить не могеш? Илил в личку скинуть? Оч красиво)

FREE MAN 19.08.2012 22:46

Ответ: Шейдеры освещение
 
Цитата:

Сообщение от 4yBa4Ok (Сообщение 236714)
Вау, а выложить не могеш? Илил в личку скинуть? Оч красиво)

Завтра либо после завтра скину окей. а то там небольшой хаос в коде надо все поправить.


Часовой пояс GMT +4, время: 08:42.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot