|
26.07.2014, 00:18
|
#1
|
Легенда
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений (для 5,072 пользователей)
|
Динамическое освещение.
Собственно хотелось бы узнать ваши мысли по поводу того как лучше сделать динамический свет на манер старых игр. Чтобы было понятнее - имеется ввиду точечный источник света от, например, ракеты или пучка плазмы. "Световое пятно" как в ранних Unreal или Quake(I-III). В инете по этой теме почти никакой инфы. Поглядев вышеописанные игры нашел только два метода:
1) Quake 2. От источника света делается пик (по сторонам куба). С учетом дистанции рисуется окружность светового пятна (с проверкой на дистанцию и положение внутри треугольника в развертке). Заметил, что это световое пятно в кваче имеет очень низкое разрешение.
2) Unreal. Рисуется декаль от источника света.
Есть у кого какие идеи?)
|
(Offline)
|
|
26.07.2014, 00:41
|
#2
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Динамическое освещение.
а много в кадре может быть таких пятен?
можно просто в шейдере нормально учесть)
типа генеришь шейдер на 0, 1, 2, 3, 4 лайтов.
пересекаешь геометрию левела со сферой влияния света.
всему что попало меняешь шейдер на учитывающий большее кол-во лайтов, передаёшь параметры лайта.
это если форвард
если деферед, то ваще халява
wait, oh shi~
тогда делай как в квейке
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо Mr_F_ за это полезное сообщение:
|
|
26.07.2014, 00:44
|
#3
|
|
Ответ: Динамическое освещение.
В первом сайлент-хиле уровни были "сетчатыми" из расчета 1 вершина через каждый метр. Но это имхо если освещение действительно играет большую роль.
Описанный тобою способ - проецирование текстуры светового пятна на геомертию уровня, так например сделан фонарик в Half-life, форумчанин MadMedic как то выкладывал реализацию халф-лайфовского фонарика на блиц3Д. Один недостаток - на каждый фонарик, свой текстурный слой. ((
|
|
|
Сообщение было полезно следующим пользователям:
|
|
26.07.2014, 00:51
|
#4
|
Легенда
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений (для 5,072 пользователей)
|
Ответ: Динамическое освещение.
Сообщение от Mr_F_
wait, oh shi~
тогда делай как в квейке
|
Видимо придется(.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо Gector за это полезное сообщение:
|
|
26.07.2014, 14:34
|
#5
|
Бывалый
Регистрация: 23.11.2011
Сообщений: 863
Написано 334 полезных сообщений (для 866 пользователей)
|
Ответ: Динамическое освещение.
Вот такой фонарик валяется.
|
(Offline)
|
|
26.07.2014, 16:11
|
#6
|
Легенда
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений (для 5,072 пользователей)
|
Ответ: Динамическое освещение.
Сообщение от tirarex
Вот такой фонарик валяется.
|
Это обычный фонарик Fredborg'а). Он просвечивает все))).
У меня была идея сделать это через своеобразные декали:
1) При создании декаля создается меш копирующий треугольники необходимые для отображения декаля. Одним словом декаль не обрезается а наоборот копируются треугольники необходимые для проекции.
2) Обрезаются непроходящие по дистации треугольники.
3) Текстурные координаты вершин проецируются в соотношении к физическому размеру декаля. От тайлинга избавиться можно через фильтры. Таким образом получается декаль, который максимально плотно прилегает к мешу (нет z-файтинга).
Специально проверил этот метод через вьювер. Работает.
Правда подозреваю, что на выходе будут не слабые тормоза. Если я не ошибаюсь он будет впустую считать альфаканал для целой стены, при том дырка от пули будет занимать на экране пару пикселей.
|
(Offline)
|
|
26.07.2014, 20:13
|
#7
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Динамическое освещение.
я делал декали, примерно как ты описал, только ещё скопированные трианглы обрезал 4мя плоскостями, чтобы ровно квадратик спроецированный вышел.
на удивление шустро работало даже на моём старом компе, когда всё поливаешь пулями.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
26.07.2014, 22:49
|
#8
|
Легенда
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений (для 5,072 пользователей)
|
Ответ: Динамическое освещение.
Сообщение от Mr_F_
я делал декали, примерно как ты описал, только ещё скопированные трианглы обрезал 4мя плоскостями, чтобы ровно квадратик спроецированный вышел.
на удивление шустро работало даже на моём старом компе, когда всё поливаешь пулями.
|
Кода не осталось?)))
|
(Offline)
|
|
26.07.2014, 22:57
|
#9
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Динамическое освещение.
остался, там С++ и ксорс правда
ну правда для реалтайм фонарика я б это не делал
Последний раз редактировалось Mr_F_, 27.07.2014 в 01:02.
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо Mr_F_ за это полезное сообщение:
|
|
27.07.2014, 12:02
|
#10
|
Легенда
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений (для 5,072 пользователей)
|
Ответ: Динамическое освещение.
Сообщение от Mr_F_
остался, там С++ и ксорс правда
ну правда для реалтайм фонарика я б это не делал
|
Ок. В принципе повертексное тоже не так уж плохо.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 13:47.
|