Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D

Ответ
 
Опции темы
Старый 26.07.2014, 00:18   #1
Gector
Легенда
 
Аватар для Gector
 
Регистрация: 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
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Динамическое освещение.

а много в кадре может быть таких пятен?
можно просто в шейдере нормально учесть)

типа генеришь шейдер на 0, 1, 2, 3, 4 лайтов.
пересекаешь геометрию левела со сферой влияния света.
всему что попало меняешь шейдер на учитывающий большее кол-во лайтов, передаёшь параметры лайта.

это если форвард
если деферед, то ваще халява

Blitz3D
wait, oh shi~
тогда делай как в квейке
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Mr_F_ за это полезное сообщение:
Gector (26.07.2014), LLI.T.A.L.K.E.R. (03.08.2014)
Старый 26.07.2014, 00:44   #3
Черный крыс
 
Сообщений: n/a
Ответ: Динамическое освещение.

В первом сайлент-хиле уровни были "сетчатыми" из расчета 1 вершина через каждый метр. Но это имхо если освещение действительно играет большую роль.

Описанный тобою способ - проецирование текстуры светового пятна на геомертию уровня, так например сделан фонарик в Half-life, форумчанин MadMedic как то выкладывал реализацию халф-лайфовского фонарика на блиц3Д. Один недостаток - на каждый фонарик, свой текстурный слой. ((
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Gector (26.07.2014)
Старый 26.07.2014, 00:51   #4
Gector
Легенда
 
Аватар для Gector
 
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений
(для 5,072 пользователей)
Ответ: Динамическое освещение.

Сообщение от Mr_F_ Посмотреть сообщение
wait, oh shi~
тогда делай как в квейке
Видимо придется(.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Gector за это полезное сообщение:
Кирпи4 (26.07.2014), Mr_F_ (26.07.2014)
Старый 26.07.2014, 14:34   #5
tirarex
Бывалый
 
Аватар для tirarex
 
Регистрация: 23.11.2011
Сообщений: 863
Написано 334 полезных сообщений
(для 866 пользователей)
Ответ: Динамическое освещение.

Вот такой фонарик валяется.
Вложения
Тип файла: rar Фонарик.rar (37.0 Кб, 948 просмотров)
(Offline)
 
Ответить с цитированием
Старый 26.07.2014, 16:11   #6
Gector
Легенда
 
Аватар для Gector
 
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений
(для 5,072 пользователей)
Ответ: Динамическое освещение.

Сообщение от tirarex Посмотреть сообщение
Вот такой фонарик валяется.
Это обычный фонарик Fredborg'а). Он просвечивает все))).

У меня была идея сделать это через своеобразные декали:
1) При создании декаля создается меш копирующий треугольники необходимые для отображения декаля. Одним словом декаль не обрезается а наоборот копируются треугольники необходимые для проекции.
2) Обрезаются непроходящие по дистации треугольники.
3) Текстурные координаты вершин проецируются в соотношении к физическому размеру декаля. От тайлинга избавиться можно через фильтры. Таким образом получается декаль, который максимально плотно прилегает к мешу (нет z-файтинга).

Специально проверил этот метод через вьювер. Работает.

Правда подозреваю, что на выходе будут не слабые тормоза. Если я не ошибаюсь он будет впустую считать альфаканал для целой стены, при том дырка от пули будет занимать на экране пару пикселей.
Миниатюры
Нажмите на изображение для увеличения
Название: Безимени-1.png
Просмотров: 1518
Размер:	242.9 Кб
ID:	20753  
(Offline)
 
Ответить с цитированием
Старый 26.07.2014, 20:13   #7
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Динамическое освещение.

я делал декали, примерно как ты описал, только ещё скопированные трианглы обрезал 4мя плоскостями, чтобы ровно квадратик спроецированный вышел.
на удивление шустро работало даже на моём старом компе, когда всё поливаешь пулями.
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Старый 26.07.2014, 22:49   #8
Gector
Легенда
 
Аватар для Gector
 
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений
(для 5,072 пользователей)
Ответ: Динамическое освещение.

Сообщение от Mr_F_ Посмотреть сообщение
я делал декали, примерно как ты описал, только ещё скопированные трианглы обрезал 4мя плоскостями, чтобы ровно квадратик спроецированный вышел.
на удивление шустро работало даже на моём старом компе, когда всё поливаешь пулями.
Кода не осталось?)))
(Offline)
 
Ответить с цитированием
Старый 26.07.2014, 22:57   #9
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Динамическое освещение.

остался, там С++ и ксорс правда

ну правда для реалтайм фонарика я б это не делал
Вложения
Тип файла: rar decal1.rar (3.1 Кб, 898 просмотров)
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер

Последний раз редактировалось Mr_F_, 27.07.2014 в 01:02.
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо Mr_F_ за это полезное сообщение:
Gector (26.07.2014), LLI.T.A.L.K.E.R. (03.08.2014), St_AnGer (28.07.2014)
Старый 27.07.2014, 12:02   #10
Gector
Легенда
 
Аватар для Gector
 
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений
(для 5,072 пользователей)
Ответ: Динамическое освещение.

Сообщение от Mr_F_ Посмотреть сообщение
остался, там С++ и ксорс правда

ну правда для реалтайм фонарика я б это не делал
Ок. В принципе повертексное тоже не так уж плохо.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com