 |
26.10.2014, 00:15
|
#571
|
Дэвелопер
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений (для 1,540 пользователей)
|
Ответ: [TrueHorror] - разработка
Я немного упорот сегодня поэтому, все еще разок с начала.
Мои действия:
1) Создаю viewProjection матрицу для спота.
2) С ее помощью отрисовываю сцену - получаю шадоумапу.
3) При расчете освещения беру восстановленую позицию( по глубине ), и домножаю ее на матрицу viewProjection спота, делаю выборку из текстуры
...
С текстурой пятна все хорошо, с тенями нет - они вращаются при повороте камеры.
Можно объяснение для даунов пжлста.
__________________
|
(Offline)
|
|
26.10.2014, 00:47
|
#572
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: [TrueHorror] - разработка
запиши видео чтоли, не представляю как оно вращается
|
(Offline)
|
|
26.10.2014, 01:09
|
#573
|
Дэвелопер
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений (для 1,540 пользователей)
|
Ответ: [TrueHorror] - разработка
здесь только буфер глубины показан, без расчета теней
[УДАЛЕНО]
еще глянь код чтоли, в подписи у меня есть ссылка на репозиторий, файлы ShadowMap.h и DeferredRenderer.cpp
__________________
Последний раз редактировалось mr.DIMAS, 26.10.2014 в 14:52.
|
(Offline)
|
|
26.10.2014, 12:15
|
#574
|
Дэвелопер
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений (для 1,540 пользователей)
|
Ответ: [TrueHorror] - разработка
можешь просто объяснить последовательность действий? только поподробней
__________________
|
(Offline)
|
|
26.10.2014, 13:15
|
#575
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: [TrueHorror] - разработка
да вроде всё правильно делаешь, в коде долго разбираться.
выведи в маленький вьюпорт сбоку содержимое шадоумапы подскейленное, чтобы его хорошо видно было и посмотри, что там с проекцией творится, видит ли фонарик то, что должен видеть.
|
(Offline)
|
|
26.10.2014, 14:47
|
#576
|
Дэвелопер
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений (для 1,540 пользователей)
|
Ответ: [TrueHorror] - разработка
я опять вляпался по-колено в z-буфер. чистить и записывать в него мне его нельзя, следовательно нормально шадоумапу я нарисовать не смогу, если я чищу з-буфер у меня слетают оптимизации трафаретом, но получается хорошая шадоумапа. на скрине результат отрисовки с
g_device->SetRenderState( D3DRS_ZENABLE, FALSE );
g_device->SetRenderState( D3DRS_ZWRITEENABLE, FALSE );
а баги у меня были из-за
g_device->SetRenderState( D3DRS_ZENABLE, TRUE );
g_device->SetRenderState( D3DRS_ZWRITEENABLE, FALSE );
че делать? сортировать объекты по глубине? это как-то жирно, depth-peeling? кароч я постоянно натыкаюсь на z-буфер. 
__________________
|
(Offline)
|
|
26.10.2014, 17:08
|
#577
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: [TrueHorror] - разработка
я опять вляпался по-колено в z-буфер. чистить и записывать в него мне его нельзя, следовательно нормально шадоумапу я нарисовать не смогу
|
WTF? у шадоумапы отдельный збуфер, у сцены отдельный
|
(Offline)
|
|
26.10.2014, 17:14
|
#578
|
Дэвелопер
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений (для 1,540 пользователей)
|
Ответ: [TrueHorror] - разработка
ну получается по умолчанию используется общий буфер, я так понял его нужно создавать отдельно для каждого рендертаргета?
http://msdn.microsoft.com/ru-ru/libr...=vs.85%29.aspx
тебе конечно все очевидно, мне не очень - ибо опыта и знаний маловато
__________________
|
(Offline)
|
|
26.10.2014, 17:33
|
#579
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: [TrueHorror] - разработка
я так понял его нужно создавать отдельно для каждого рендертаргета?
|
именно. как минимум, у тебя же шадоумапа и экран разного размера, как ты вообще можешь юзать экранный збуфер для теней? вроде даже не должно работать. или у тебя тени такого же разрешения, как экран?
|
(Offline)
|
|
26.10.2014, 17:35
|
#580
|
Дэвелопер
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений (для 1,540 пользователей)
|
Ответ: [TrueHorror] - разработка
да пока-что такого же
__________________
|
(Offline)
|
|
26.10.2014, 18:15
|
#581
|
Дэвелопер
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений (для 1,540 пользователей)
|
Ответ: [TrueHorror] - разработка
еще один косяк, при рендере глубины в гбуфер, она зависит от положения камеры, и поэтому сравнивать с глубиной из шадоумапы ее нельзя. че делать?
__________________
|
(Offline)
|
|
26.10.2014, 18:27
|
#582
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: [TrueHorror] - разработка
не понял вопрос.
суть такова:
1. рендеришь глубину относительно фонарика в РТ фонарика.
2. рендеришь свой гбуфер игровой камерой.
3. восстанавливаешь мировую позицию из глубины гбуфера.
4. множишь её на матрицу фонарика - получаешь глубину в том же пространстве, что у него и проекционные коорды в XY.
5. семплишь шадоумапу и сравниваешь глубину из неё с projectedCoords.z
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
26.10.2014, 18:48
|
#583
|
Дэвелопер
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений (для 1,540 пользователей)
|
Ответ: [TrueHorror] - разработка
Ну наконец-то я сделал это. Теперь PCF надо хотя бы 2х2. И оптимизацию по объектам которые рисуются в шадоумапу. А чтобы дырки в текстурах учитывались, нужно передать в шейдер, который пишет шадоумапу еще и диффуз текструру с альфаканалом и там отсекать через clip.
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
26.10.2014, 19:07
|
#584
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: [TrueHorror] - разработка
как-то коряво выглядит, или меня глючит. мне кажется, в обозначенных местах должны быть тени, а их нет.
|
(Offline)
|
|
26.10.2014, 19:13
|
#585
|
Дэвелопер
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений (для 1,540 пользователей)
|
Ответ: [TrueHorror] - разработка
кубики немного подняты от земли, поэтому такой обман зрения
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:06.
|