|
3D-программирование Вопросы, касающиеся программирования 3D мира |
24.07.2008, 13:18
|
#1
|
ПроЭктировщик
Регистрация: 13.06.2008
Сообщений: 131
Написано 30 полезных сообщений (для 61 пользователей)
|
смена разрешения
Такой вопрос -
если в программе снова вызвать
bbGraphics3D() с новыми параметрами,
то что то удаляется? спрайты, камера, свет?
Раньше перед сменой разрешения был Clearworld() и повторная загрузка всех энтити.
А теперь программа виснет после нового вызова графики.
Вообще пример по корректному переключению разрешения внутри программы хотелось бы, без очистки всего мира.
|
(Offline)
|
|
24.07.2008, 13:33
|
#2
|
ПроЭктировщик
Регистрация: 13.06.2008
Сообщений: 131
Написано 30 полезных сообщений (для 61 пользователей)
|
Ответ: смена разрешения
начал потихоньку разбираться:
во-первых удаляются шрифты, их надо грузить заново
|
(Offline)
|
|
24.07.2008, 13:34
|
#3
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: смена разрешения
на самом деле без отчистки всего мира разрешение не переключить никак, потомучто заново пересоздается девайс и теряются все загруженные в видеопамять ресурсы. мое имхо - на самом деле не нужно сменять разрешение в программе. Или сделай внешний файл - или пиши в программе, что на самом деле ее нужно перезапустить после смены разрешения, и на самом деле только после етого прмиенится новое разрешение.
|
(Offline)
|
|
24.07.2008, 13:43
|
#4
|
ПроЭктировщик
Регистрация: 13.06.2008
Сообщений: 131
Написано 30 полезных сообщений (для 61 пользователей)
|
Ответ: смена разрешения
Так, понятно - видимо смена графики убивает вообще все
|
(Offline)
|
|
24.07.2008, 13:45
|
#5
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: смена разрешения
на самом деле - шрифты это тоже текстура. и тоже хранится в видеопамяти (наверное).
у меня было очень много глюков с динамичной сменой разрешения. поетому я забил на него - просто пишу жирную мигающую надпись - перезапусти программу.
|
(Offline)
|
|
24.07.2008, 13:46
|
#6
|
ПроЭктировщик
Регистрация: 13.06.2008
Сообщений: 131
Написано 30 полезных сообщений (для 61 пользователей)
|
Ответ: смена разрешения
Можно переключать без очистки - но приходится грузить все заново. Вот такая ерунда.
Просто хотелось сделать как в обычных играх. Может просто перезапускать программу и откатывать ее до этого момента? Перезапуск приложения ведь можно сделать?
|
(Offline)
|
|
24.07.2008, 13:53
|
#7
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,742
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: смена разрешения
В каждой второй обычной игре именно так и делают - пишут здоровую надпись "Перезапусти игру"
Либо переключить разрешение можно только в меню.
А меню загрузить заново намного легче чем непосредственно игру.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
24.07.2008, 13:58
|
#8
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: смена разрешения
тут в чем загвоздка, на самом деле еще до загрузки меню (где можно выбрать уровень например) часто грузят всякие уровненезависимые вещи. Например игрока и его подругу )) Чтобы не грузить каждый раз заново. На мой взгляд - не стоит 10 секунд на перезапуск игры столького геморроя, сколько его вызывает реализация "горячей" смены разрешения.
|
(Offline)
|
|
24.07.2008, 14:03
|
#9
|
ПроЭктировщик
Регистрация: 13.06.2008
Сообщений: 131
Написано 30 полезных сообщений (для 61 пользователей)
|
Я в меню и переключаю.
Дело в том, что между меню и остальными местами не должно быть рывка со сменой разрешения (или просто с перезагрузкой без смены разрешения).
Сейчас все работает, но маска спрайтов опять нарушается если в меню переключить разрешение и все загрузить снова - потому что при смене разрешения приходится грузить все элементы - и меню и остальное.
Вобщем мне надо либо программно перезапускать приложение, либо понять почему нарушается маска. Есть конечно еще один вариант - с добавлением минимальной альфы маска действует, но появляются небольшие пиксельные артефакты.
Я конечно могу делать первую загрузку объектов уровня после выхода из меню дальше в игру, но игрок может вернуться обратно в меню из игры (при этом игровые объекты спрячутся, а не сотрутся) и переключить таки разрешение. Тогда привет маска
Не помогает даже принудительное удаление каждого спрайта перед сменой разрешения.
Последний раз редактировалось HolyDel, 24.07.2008 в 14:38.
|
(Offline)
|
|
24.07.2008, 14:16
|
#10
|
Разработчик
Регистрация: 02.04.2007
Сообщений: 353
Написано 54 полезных сообщений (для 289 пользователей)
|
Ответ: смена разрешения
кстати я делал в меню переключалку разрешений - но была одна проблема - при разе 3ем - разрешение слетало
вобщем половину рисовалось черным как спрайт как будто загораживет камеру.
Щас уже не помню , но делал прям без перегрузки смену разрешений - это точно.
вобщем писал в .ini и оттуда читал.
|
(Offline)
|
|
24.07.2008, 14:21
|
#11
|
ПроЭктировщик
Регистрация: 13.06.2008
Сообщений: 131
Написано 30 полезных сообщений (для 61 пользователей)
|
Да, тоже примерно на третьем разе маска рушится
А разрешения и так в файл сохраняются, а потом игра меняет разрешение на новое.
Короче при первой смене разрешения назначу альфу спрайтам,
пока так.
после смены разрешения назначение альфы лечит проблему, главное назначить ее спрайту до создания копий.
Последний раз редактировалось HolyDel, 24.07.2008 в 14:39.
|
(Offline)
|
|
24.07.2008, 14:51
|
#12
|
ПроЭктировщик
Регистрация: 13.06.2008
Сообщений: 131
Написано 30 полезных сообщений (для 61 пользователей)
|
Ответ: смена разрешения
Наверно дело в том что копии спрайтов находятся в массиве с типом,
наверно нужно массив с типом объявлять заново?
(попробовал - не помогает )
Последний раз редактировалось NoNsense, 24.07.2008 в 14:58.
Причина: дополнение
|
(Offline)
|
|
25.07.2008, 13:32
|
#13
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
Ответ: смена разрешения
я просто написал внешний перезагрузчик на пурике
запускаю его из блитца и закрываю программу.
он запускается ждет 5 сек. и запускает игру заново
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
28.07.2008, 06:43
|
#14
|
ПроЭктировщик
Регистрация: 13.06.2008
Сообщений: 131
Написано 30 полезных сообщений (для 61 пользователей)
|
Ответ: смена разрешения
собственно сильно будет необходимо так и сделаю, тем более на PureBasic + Blitz3Dsdk делаю
|
(Offline)
|
|
30.07.2008, 01:20
|
#15
|
Разработчик
Регистрация: 02.04.2007
Сообщений: 353
Написано 54 полезных сообщений (для 289 пользователей)
|
Ответ: смена разрешения
Я кароч сделал 2 ексешки - 1 меню установок - из нее запускаетсья основная ексешка программы. Конфиг файл один на 2 (в 1 проге ты его меняешь а в запускаемой читаешь) все просто
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 10:38.
|