![]() |
Baked Probe Light
Вложений: 3
После недавнего примера с вершинным освещением я заморочался на эту тему и вот что мне удалось написать.
Это не повертексное освещение. Это так называемый "Probe Light". Тоесть освещение заранее просчитанное для определенных точек на карте. К достоинствам этого метода можно отнести его относительную простоту и более менее приемлемый результат ввиду того, что можно динамический объект может принимать освещение (как бы) отраженное от стен(По большей части это не освещение а трюк:)). Иными словами он использует некоторые достоинства материалов макса(например отражение света от стен). К недостаткам метода стоит отнести лишний лайтмэп и чайлды). Но ведь без затрат ничего не делается? Здесь можно посмотреть как это работает в идеале. А здесь немного теории. В примере представлена очень грубая но тем не менее рабочая вариация этого метода). Основной принцип сохранен. В архиве так же моя небольшая статья объясняющая принцип создания Probe Light для Blitz3d. З.Ы. Ваше мнение)? UPD. Знаю знаю блиц старый. DX9 рулит). Но к теме это не имеет никакого отношения). |
Ответ: Baked Probe Light
А чо, прикольно. А с учетом наличия и других флагов в Текстуребленде можно и затенение замутить, токо шесть рендеров это дохрена по моему :)
Кстати не запустилось хочет функцию ReadSub(EntityName$(child),2,"%"). И можно наверно разрешение маленькое для камеры выставить там ведь важен цвет, а не детализация и сделать массив из шести камер, тогда можно будет за один рендер управиться. |
Ответ: Baked Probe Light
Цитата:
Создай текстовый файл "parser.decls" и вставь туда это: Код:
.lib "Parser.dll" |
Ответ: Baked Probe Light
помню делал их на ксорсе.
т.к. освещение запекал в максе в лайтмапы, там же ставил скриптом все probe'ы в виде кубиков с запретом отбрасывания теней и влияния на ГИ. но они все равно могли принимать освещение на себя. на кубиках была развертка в виде 6 их сторон по очереди. затем я запекал на них свет (создавался свой лайтмап на каждый) и экспортил сцену в б3д - затем препроцессящая прога брала мин/макс коорды кубов из сцены и цвета каждой стороны из минилайтмапов. полученное сохранялось уже в использующийся в реалтайме небольшой файл. в игре был перебор этих кубов и проверка попадания дин объекта в мин/макс коорды каждого. можно было оптимизировать через sparse octree, но я этого не сделал, было как ни странно и без того шустро с парой тысяч кубов. в случае попадания, я плавно линейно интерполировал текущий кубоцвет объекта на цвет куба, в котором он находится. т.е. каждый дин объект нёс в себе 6 RGB цветов. они передавались в шейдер и юзались как ambient cube по коду, описанному в доке про освещение в source engine. по сабжу - тут кубмапой сделано или как? лень смотреть |
Ответ: Baked Probe Light
Цитата:
UPD: Хотя от того что делал ты отличается лишь нюансами. |
Ответ: Baked Probe Light
Цитата:
|
Ответ: Baked Probe Light
Ну да, просто вырезаешь для каждой грани разный кусок бакбуфера, да и 32х32 должно хватить с головой для каждого куска. Плюс можно подкрашивать объекты(не фон) в черный цвет во время рендера, дадут некую тень они :)
|
Ответ: Baked Probe Light
Или я чего-то не понял, или вы не то говорите. Блитц не умеет рендерить в один проход из нескольких камер.
|
Ответ: Baked Probe Light
Цитата:
Я сейчас ищу способ смягчить переходы между текстурами. Тоесть сделать хотябы фейд по расстоянию. Но через гамму - глючно т.к. работает она только в оконном режиме. Лишний рендер тоже не к чему. |
Ответ: Baked Probe Light
Вызов RenderWorld - это не проход. Проход - это когда геометрия отбрабатывается один раз. А на самом деле в недрах рендерера, она обрабатывается всё те же 6 раз.
|
Ответ: Baked Probe Light
Цитата:
|
Ответ: Baked Probe Light
Помню хотели для нашей игрухи такое сделать, но руки не дошли.
Мне так и не удалось запустить! Откуда взять Parser.dll (и зачем он нужен)? Залей хоть заново со всеми нужными причендалами. |
Ответ: Baked Probe Light
Exe'шку лучше всего прикрепить..
|
Ответ: Baked Probe Light
Цитата:
Цитата:
|
Часовой пояс GMT +4, время: 06:17. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot