![]() |
Ответ: [TrueHorror] - разработка
а как ты определил, что посылается на блендинг?
|
Ответ: [TrueHorror] - разработка
че? я говорю о том что если ограничивающая сфера не пройдет z тест, то никаких фрагментов фулскрин квада не отрисуется. а у меня почему то все равно производительность падает, даже если источник света загорожен. наверное все таки попробую occlusion query
|
Ответ: [TrueHorror] - разработка
ну так говорю, даже если блендинга нет, все равно куча фулскрин тестов всех пикселей квада об стенсил буфер идёт йопт.
|
Ответ: [TrueHorror] - разработка
ну таки что делать? порталы я юзать не хочу, там нужно карту вручную разбивать
неужели используя occlusion query я не буду в выигрыше? им нужно затестить только сферы ограничивающие |
Ответ: [TrueHorror] - разработка
Цитата:
а если не будет, то в любом случае не рекомендую query, результат может приходить иногда через 1, а иногда и через все 15 кадров. с такими опозданиями что ты будешь делать? лайты будут запоздало появляться. |
Ответ: [TrueHorror] - разработка
Кароч не ок. фпс почти не увеличился, он также проваливается даже когда свет загорожен стенкой. хуита кароч, даже не смотря на то что серьезно уменьшилось число фрагментов проходящих через трафарет, все равно фпс проваливается. я в пичали.
|
Ответ: [TrueHorror] - разработка
хм, странно, в общем тут уже надо в PIXе смотреть детально что происходит.
ты левел собираешь из каких-то модулей (типа кусок пещеры прямой, кусок с поворотом) или просто полигоны тянешь? на основе модулей можно было бы автоматом порталы сгенерить. |
Ответ: [TrueHorror] - разработка
Попробовал occlusion query. Результат порадовал, если свет(70 источников) загорожен стенкой, то фпс 130. Если эти же источники распределить в лабиринте ( чтоб все сразу не было видно ) то фпс в среднем 90, без оклюжена фпс 58. Я щитаю это вин.
upd. Проверил в игре, фпс не опускается ниже 100 Но без косяков никуда. Бывает такой момент, что сферка пролезает сквозь стену и соответственно на экране нет ее фрагментов и свет пропадает, что с этим делать я не знаю. Код оклюжена такой: Код:
gpDevice->SetRenderState( D3DRS_STENCILENABLE, FALSE ); Цитата:
|
Ответ: [TrueHorror] - разработка
Цитата:
|
Ответ: [TrueHorror] - разработка
Цитата:
я думаю сделать что-то типа кэширования видимости источников света. берем всю сцену в большой aabb этот aabb равномерно заполняем точками и в процессе игры для каждой точки будут запоминаться источники света которые видимы оклюженом. хз насколько это правильно, но нужно попробовать. |
Ответ: [TrueHorror] - разработка
В общем сделал кэширование, работает хорошо. Опишу алгоритм:
При перемещении камеры строим ее путь - просто добавляем точки через равные промежутки, попутно проверяя наличие уже существующих точек рядом - таким образом на пути следования камеры образуется регулярная(с равным шагом ) сетка из точек, а заодно находим ближайшую существующую точку к камере. При рендере стартуем оклюжен, и при помощи него формируем список источников света видимых из данной точки. Есть одна очень досаждающая особенность оклюжена для света, если ограничивающая сфера пройдет сквозь стенку, то свет не отрисуется, потому что никакие фрагменты сферы не были отрисованы - решается это отрисовкой сферы 1/4 размера исходной. Пробовал записать видео, но фрапс лочит фпс и поэтому производительность надо щупать самому. Код можно глянуть на гитхабе в DeferredRenderer.cpp и Camera.cpp У меня средний фпс не опускается ниже 105 к\с( 2560х1440 ). без этого метода фпс иногда( когда много источников света в далеке за стеной ) проваливается до 57 к\с. Также убрана задержка оклюжена. |
Ответ: [TrueHorror] - разработка
Вложений: 2
А тем временем я пилю новый уровень с гермодверями и лабиринтами - канализация. АХТУНГ! На скринах нет графония, у вас может произойти кровавое слезотечение от следующих скриншотов :-D.
Двери открываются кнопками на стене. По началу хотел сделать вентили( типа крутишь и дверь поднимается\опускается ), но словил нехилую попоболь с осями вращения вентилей, так что сделал кнопками. |
Ответ: [TrueHorror] - разработка
Цитата:
|
Ответ: [TrueHorror] - разработка
Твоя игра уже в сталкера/метро 2033 превращается. :)
|
Ответ: [TrueHorror] - разработка
Цитата:
|
Часовой пояс GMT +4, время: 18:17. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot