Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » Алгоритмические вопросы. | страница 5
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 5 из 7
На страницу: Пред.  1, 2, 3, 4, 5, 6, 7  След. | Все страницы
Поиск в этой теме:
Канал Игры Мечты: «Алгоритмические вопросы.»
Shirson
 1605 EGP


Модератор
Рейтинг канала: 7(626)
Репутация: 219
Сообщения: 16511
Откуда: 79°W 44°N
Зарегистрирован: 29.01.2002
Да, один должен быть.

Попробовал я свой рейкастинг и каждой ячейки. Ну что сказать... халявы непоулчилось Улыбка Вычислительная сложность слишком высокая, дальше развивать пока не буду, слишком лобовой и неоптимальынй вариант.

Алгоритмы "от ячейки" дают несколько другой результат, чем хотелось бы. Затекание света, впринципе, не самая страшная штука, но хочется более достоверного освещения.

Придётся расчехлять старую наработку, с предварительным построением карты освещённости. И уже знаю, как обойти старые недостатки. Она себя показала более чем хорошо, а с учётом задумок должна работать еще лучше, не привязываясь к заданному со старта количество статических источников и хавая помянутую проблема светящейся лавы на пол-экрана.
Возни, правда, с ней много, но результат должен быть хорошим. Задумки, кстати, пришли из реализации рэйкастинговой модели Подмигиваю

Всё, пошёл страдать Улыбка
_________________
У меня бисера не доxеpа.
    Добавлено: 21:49 12-09-2014   
БулерМэн
 420 EGP


Рейтинг канала: 2(21)
Репутация: 68
Сообщения: 1580
Откуда: Гороховец
Зарегистрирован: 07.02.2006
Я недавно работал с "туманом войны" в своей игре, и пришел к одному наверное единственно правильному решению: посылать невидимые объекты во все стороны от игрока с определенной частотой и не заморачиваться с волновыми расчетами...Объекты сами уничтожаются при столкновении с препятствиями и уже ничего не освещают.
 Cкрытый текст   (кликните здесь для просмотра)

Алгоритм работает. Но в следствии того, что мой игровой движок это GameMaker и сам код это скрипты - такая реализация "освещения" недопустимо тормозит игровой процесс.
Для игрушек(или не игрушек) написанных на компилируемом ЯП, думаю, что скорость будет намного выше. Для справки - игра в видео без "освещения" работает на 30 FPS, с освещением 16-20 FPS.

Честно говоря, я не читал полностью ветку Гы-гы И если речь идет о 3D-окружении - ногами не пинайте Улыбка
Если речь идет о 3D пространстве - работает тот же принцип: посылаем некое количество объектов(квантов) с определенным числом шагов жизни, как писал ранее Guest, если не ошибаюсь, и если игрок видит часть комнаты в своем вьюпорте, куда попадают эти самые объекты - сделать темноту не такой темной Гы-гы

Как говорили ранее - проблема нескольких источников света решается тем же самым путем: объекты(кванты) которые освещают поверхность других предметов не могут сделать освещение сильнее чем полная, 100% освещенность.
Если хочется сделать засветку некоторых мест: сложение освещенности - складываем силу света от всех "квантов", которые сталкиваются с текущим объектом, на текущем шаге жизни.
Конечно придется считать интервалы попадания этих "квантов", иначе не посчитать на сколько сделать освещение ярче.
Картинка будет более реалистичная. Но без отражений - не камильфо!

Отражения: все объекты имеющие свойство отражать свет - создают некое количество "квантов", когда в них попадает чужой "квант".
Естественно, количество квантов или сила света на выходе должно быть меньше значения на входе, это собственно и определяет степень отражения.

Да, тени будут не такими четкими, если площадь освещения одним "квантом" будет достаточно большой.
А если количество "квантов" увеличить - тени станут более контрастными, но потребуется больше ресурсов ЦП.

PS в своей игре я освещение отключил, по уже известной причине.
PPS имхо
_________________
Дулички и фигушки

Последний раз редактировалось: БулерМэн (01:47 13-09-2014), всего редактировалось 7 раз(а)
    Добавлено: 01:33 13-09-2014   
Guest
 2075 EGP


Модератор
Рейтинг канала: 5(167)
Репутация: 376
Сообщения: 27975
Откуда: Моск.
Зарегистрирован: 12.10.2004
БулерМэн :
Честно говоря, я не читал полностью ветку

Shirson :
Ой, не могу!..
_________________
Трещит земля как пустой орех
Как щепка трещит броня
    Добавлено: 03:22 13-09-2014   
Shirson
 1605 EGP


Модератор
Рейтинг канала: 7(626)
Репутация: 219
Сообщения: 16511
Откуда: 79°W 44°N
Зарегистрирован: 29.01.2002
БулерМэн :
Я недавно работал с "туманом войны" в своей игре, и пришел к одному наверное единственно правильному решению: посылать невидимые объекты во все стороны от игрока с определенной частотой и не заморачиваться с волновыми расчетами...Объекты сами уничтожаются при столкновении с препятствиями и уже ничего не освещают.
У тебя каша из LOS, тумана войны и освещения.

Цитата:
Алгоритм работает. Но в следствии того, что мой игровой движок это GameMaker и сам код это скрипты - такая реализация "освещения" недопустимо тормозит игровой процесс.
Это не освещение, а LOS (Line Of Sight).

Цитата:
Для игрушек(или не игрушек) написанных на компилируемом ЯП, думаю, что скорость будет намного выше. Для справки - игра в видео без "освещения" работает на 30 FPS, с освещением 16-20 FPS.


У меня в Shady Caverns на слабом компе, при дальности взгляда раза в три дальше, FPS порядка 300.

Но к теме это отношения не имеет совсем - тут речь шла про механизм освещения.

Цитата:
Честно говоря, я не читал полностью ветку Гы-гы
Да это тут уже меинстрим Задница

Цитата:
Если хочется сделать засветку некоторых мест: сложение освещенности - складываем силу света от всех "квантов", которые сталкиваются с текущим объектом, на текущем шаге жизни.
Конечно придется считать интервалы попадания этих "квантов", иначе не посчитать на сколько сделать освещение ярче.
Жуть какая... проктологическая Подмигиваю
_________________
У меня бисера не доxеpа.

Последний раз редактировалось: Shirson (04:42 13-09-2014), всего редактировалось 4 раз(а)
    Добавлено: 04:31 13-09-2014   
БулерМэн
 420 EGP


Рейтинг канала: 2(21)
Репутация: 68
Сообщения: 1580
Откуда: Гороховец
Зарегистрирован: 07.02.2006
Сравнение видимо не корректное, так как Shirson писал явно не на GML.
Если использовать "правильный" алгоритм обработки LOS - в моем случае начинает тормозить неимоверно, это связано в первую очередь с особенностями среды.
Мне очень интересно заняться темой освещения, так как я подразумевал все о чем говорилось в своих наработках. Но в данный момент занят другой программой.
_________________
Дулички и фигушки

Последний раз редактировалось: БулерМэн (10:13 13-09-2014), всего редактировалось 2 раз(а)
    Добавлено: 09:53 13-09-2014   
Shirson
 1605 EGP


Модератор
Рейтинг канала: 7(626)
Репутация: 219
Сообщения: 16511
Откуда: 79°W 44°N
Зарегистрирован: 29.01.2002
Освещение можно делать с LOS из истоничка света, но делать это при загрузке или вообще при создании уровня.
На дополнительный слой заносятся данные об освещённости каждой ячейки от окружающих истоников. Для статического света будет само то.
_________________
У меня бисера не доxеpа.
    Добавлено: 18:35 13-09-2014   
Guest
 2075 EGP


Модератор
Рейтинг канала: 5(167)
Репутация: 376
Сообщения: 27975
Откуда: Моск.
Зарегистрирован: 12.10.2004
Так при загрузке можно вообще по любой произвольной технике статический свет посчитать и сохранить, там время выполнения некритично... А вот в динамике что делать?
_________________
Трещит земля как пустой орех
Как щепка трещит броня
    Добавлено: 01:10 14-09-2014   
Shirson
 1605 EGP


Модератор
Рейтинг канала: 7(626)
Репутация: 219
Сообщения: 16511
Откуда: 79°W 44°N
Зарегистрирован: 29.01.2002
Можно разменять скорость на память.
У БулерМэна видимость на несколько клеток всего. Для каждой клетки можно завести список клеток, которые из неё видны (заполнять при загрузке или при создации уровня). Отсортировать по дальности.
Это разом решает проблемы и с освещением, и с LOS. И совершенно некритично к скорости рантайма.
_________________
У меня бисера не доxеpа.

Последний раз редактировалось: Shirson (03:02 14-09-2014), всего редактировалось 1 раз
    Добавлено: 02:36 14-09-2014   
Minx
 978 EGP


Модератор
Рейтинг канала: 6(328)
Репутация: 135
Сообщения: 10521
Откуда: Gomel, Belarus
Зарегистрирован: 19.11.2005
Shirson :
Можно разменять скорость на память.

А на многопоточность ты ещё не размениваешь? Те же диагонали хорошо параллелятся.
_________________
μηδείς αγεωμέτρητος εισίτω
    Добавлено: 14:12 14-09-2014   
Shirson
 1605 EGP


Модератор
Рейтинг канала: 7(626)
Репутация: 219
Сообщения: 16511
Откуда: 79°W 44°N
Зарегистрирован: 29.01.2002
Я предложил решение для проблемы БулерМэна с низкой скоростью скриптов.
_________________
У меня бисера не доxеpа.
    Добавлено: 18:24 14-09-2014   
Shirson
 1605 EGP


Модератор
Рейтинг канала: 7(626)
Репутация: 219
Сообщения: 16511
Откуда: 79°W 44°N
Зарегистрирован: 29.01.2002
Дошли таки руки.
Хитропоиметая метода для обхода кучи узких мест Улыбка
Считает карту освещённости (при генерёжке уровня) для статических источников света (динамические накладываются влёт), при этом в каждую ячейку записывает список источников света, в пределах которых она находится. Текущая освещённость считается динамически, использую текущие показатели источников (может быть выключен, изменена светисомть/цвет, паттерн мигания и пр). Кроме того, при изменении в самой ячейке, например сносе стены, пересчитывается вектор от источника света, до ячейки и дальше до дальности распространения света вообще.
Уровней яркости нет, умерли как рудимент.



В данном случае свет от источников смешивается по max. Надо попробовать по clamp.

(в квадратных скобках FPS, Intel Core i5-2500 @ 3.3Gh)

добавлено спустя 12 минут:
Это clamp



Как-то феериссески... Озадачен
_________________
У меня бисера не доxеpа.

Последний раз редактировалось: Shirson (00:03 17-09-2014), всего редактировалось 3 раз(а)
    Добавлено: 00:03 17-09-2014   
Guest
 2075 EGP


Модератор
Рейтинг канала: 5(167)
Репутация: 376
Сообщения: 27975
Откуда: Моск.
Зарегистрирован: 12.10.2004
А как именно по clamp, в каких пределах? max же тоже пределы имеет.
Хорошо бы на одном seed сравнить, а то разницу визуально непонятно где искать.
_________________
Трещит земля как пустой орех
Как щепка трещит броня
    Добавлено: 00:39 17-09-2014   
Shirson
 1605 EGP


Модератор
Рейтинг канала: 7(626)
Репутация: 219
Сообщения: 16511
Откуда: 79°W 44°N
Зарегистрирован: 29.01.2002
Пределы 0..1

Вообще, сильно кислотных и разноцветных фонариков у меня не предвидится - в игре цветной свет будет не шибко часто использоваться. Это просто тесты на то, как будут выглядеть смешивающиеся источники.

Сид сделаю один, как доберусь до проекта.

добавлено спустя 40 минут:
Кстати, надо еще затухание "перевернуть"
Сейчас 1-x^2, а надо что-нибудь вроде e
_________________
У меня бисера не доxеpа.

Последний раз редактировалось: Shirson (07:40 17-09-2014), всего редактировалось 2 раз(а)
    Добавлено: 02:26 17-09-2014   
Shirson
 1605 EGP


Модератор
Рейтинг канала: 7(626)
Репутация: 219
Сообщения: 16511
Откуда: 79°W 44°N
Зарегистрирован: 29.01.2002
Квадратичное затухание, Max


Квадратичное затухание, Clamp


Экспоненциальное затухание, Max


Экспоненциальное затухание, Clamp

_________________
У меня бисера не доxеpа.
    Добавлено: 17:10 17-09-2014   
Guest
 2075 EGP


Модератор
Рейтинг канала: 5(167)
Репутация: 376
Сообщения: 27975
Откуда: Моск.
Зарегистрирован: 12.10.2004
У меня глюки, или в clamp'e пробиваются дюже странные цвета, а на max вообще смешивания не происходит? Подозрение.

добавлено спустя 6 минут:
В экспоненте видна граница дальности источника очень сильно, прямо круг обрисован. А затухание вообще чувствуется только на первых 5 шагах. Ты в ту сторону вычитание делаешь, или у тебя асимптота к 0?
_________________
Трещит земля как пустой орех
Как щепка трещит броня

Последний раз редактировалось: Guest (17:52 17-09-2014), всего редактировалось 1 раз
    Добавлено: 17:52 17-09-2014   
Shirson
 1605 EGP


Модератор
Рейтинг канала: 7(626)
Репутация: 219
Сообщения: 16511
Откуда: 79°W 44°N
Зарегистрирован: 29.01.2002
Меня самого кламп смущает.

В экспоненте у меня режется значение. Если делать совсем плавано, то затухание очень больше получается. Т.е. уже в паре шагов от истоника довольно темно.
Надо попробовать другую зависимость.

добавлено спустя 3 минуты:
Линейная, Мах.


А что, очень даже нчиего.
_________________
У меня бисера не доxеpа.

Последний раз редактировалось: Shirson (18:01 17-09-2014), всего редактировалось 1 раз
    Добавлено: 18:01 17-09-2014   
Мамонт
 1818 EGP


Модератор
Рейтинг канала: 1(1)
Репутация: 468
Сообщения: 9083
Откуда: Кайнозойская эра
Зарегистрирован: 29.09.2003
Вы бы картинки такие огромные под спойлер бы прятали, ну или уменьшали бы. Расползается же конфа. : Совсем запутался...
_________________
Misereatur nostri omnipotens Deus et, dimissis peccatis nostris, perducat nos ad vitam aeternam. Amen.
    Добавлено: 18:41 17-09-2014   
Shirson
 1605 EGP


Модератор
Рейтинг канала: 7(626)
Репутация: 219
Сообщения: 16511
Откуда: 79°W 44°N
Зарегистрирован: 29.01.2002
Э... картинка 976 по ширине. У тебя какой монитор? Улыбка
(уменьшать нельзя, контент потеряется)
_________________
У меня бисера не доxеpа.

Последний раз редактировалось: Shirson (19:20 17-09-2014), всего редактировалось 1 раз
    Добавлено: 19:11 17-09-2014   
Guest
 2075 EGP


Модератор
Рейтинг канала: 5(167)
Репутация: 376
Сообщения: 27975
Откуда: Моск.
Зарегистрирован: 12.10.2004
Квадратичный поярче, на линейном большая часть поля полутьмой залита, видно не очень хорошо.

А на clamp'e, кстати, всё правильно. Между жёлтым и фиолетовым по математике действительно оранжевый и т.д. А что смотрится дико - так никому в голову не придёт в здравом уме так краски мешать. Фиолетовый и жёлтый - дополняющие цвета, тащемта например. То есть самый классический вырвиглаз Совсем запутался...

добавлено спустя 6 минут:
А на max вместо смешения подавление... Хотя с мешаниной цветов max выглядит лучше.
А, кстати, у тебя max по суммарной яркости или по каждому (R,G,B) каналу?
_________________
Трещит земля как пустой орех
Как щепка трещит броня

Последний раз редактировалось: Guest (19:59 17-09-2014), всего редактировалось 3 раз(а)
    Добавлено: 19:58 17-09-2014   
Мамонт
 1818 EGP


Модератор
Рейтинг канала: 1(1)
Репутация: 468
Сообщения: 9083
Откуда: Кайнозойская эра
Зарегистрирован: 29.09.2003
Shirson :
Э... картинка 976 по ширине. У тебя какой монитор? Улыбка
(уменьшать нельзя, контент потеряется)
Разрешение 2048 x 1536 пикселей.
_________________
Misereatur nostri omnipotens Deus et, dimissis peccatis nostris, perducat nos ad vitam aeternam. Amen.
    Добавлено: 20:55 17-09-2014   
Канал Игры Мечты: «Алгоритмические вопросы.»
На страницу: Пред.  1, 2, 3, 4, 5, 6, 7  След. | Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Вот в последний месяц все на лазерные башни бросался, как киты на сушу от суицидальных позывов... (forbidden)

  » Алгоритмические вопросы. | страница 5
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18