Среда, 25 Декабря 2024, 22:06

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Advanced simply lighting
aFriendДата: Пятница, 16 Января 2015, 01:10 | Сообщение # 1
участник
Сейчас нет на сайте
Решил на днях сделать простенькое освещение при помощи сурфа и примитивы.
Вроде все написал:

Но столкнулся с одной не очень приятной проблемой: моя система освещения выдает катастрофически маленький FPS даже при одном источнике освещения!

Проведя парочку тестов я выяснил:
1) Чем ближе источник света к стене, тем большее FPS выдает игра
Ps: обусловлено это тем, что количество циклов для "поиска стены" нужно выполнить меньше при небольшом расстоянии.

2) Чем меньше в комнате обьектов, которые гипотетически могут преломить свет, тем больший FPS выдает игра.
Ps: ?!

Пишу я это потому, что видел системы освещения, которые даже при сотне источников света работают на максимальных FPS.

В связи со всей это ситуацией я прошу вашей помощи: помогите, подскажите, как увеличить FPS


Сообщение отредактировал aFriend - Пятница, 16 Января 2015, 01:39
OpenGOOДата: Пятница, 16 Января 2015, 16:43 | Сообщение # 2
почти ветеран
Сейчас нет на сайте
Сделай профилирование, чтобы выяснить где у тебя узкие места в коде.

Цитата aFriend ()
Пишу я это потому, что видел системы освещения, которые даже при сотне источников света работают на максимальных FPS.

Это скроее было шейдерное освещение.


Мои проекты:
- Свободный и открытый клон World Of Goo
- TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)

[GameMaker: Studio v1.4.9999]
jayreckДата: Пятница, 16 Января 2015, 17:58 | Сообщение # 3
участник
Сейчас нет на сайте
aFriend, а если
s_surface_controller
create event:
Код

surface=surface_create(view_wview[0],view_hview[0])


g-null-dc
Ippolit - тамагоч
немного моего пиксель арта


Сообщение отредактировал jayreck - Пятница, 16 Января 2015, 18:00
OpenGOOДата: Пятница, 16 Января 2015, 22:35 | Сообщение # 4
почти ветеран
Сейчас нет на сайте
Такого же визуального эфекта как у тебя

можно добиться проще, достаточно добавив в Draw Event такой код

Код
draw_set_blend_mode( bm_add );
draw_circle_colour(x, y, 200, c_white, c_black, false);
draw_set_blend_mode( bm_normal );


Мои проекты:
- Свободный и открытый клон World Of Goo
- TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)

[GameMaker: Studio v1.4.9999]
aFriendДата: Суббота, 17 Января 2015, 03:02 | Сообщение # 5
участник
Сейчас нет на сайте
jayreck, спасибо, но пока что размер вида ограничен размером комнаты.

Добавлено (17 января 2015, 03:02)
---------------------------------------------
OpenGOO, проблема такой системы - невозможность преломить свет такой "лимпочки" (по крайней мере, для меня)

  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг