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

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

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

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 24.07.2008, 13:18   #1
NoNsense
ПроЭктировщик
 
Аватар для NoNsense
 
Регистрация: 13.06.2008
Сообщений: 131
Написано 30 полезных сообщений
(для 61 пользователей)
смена разрешения

Такой вопрос -
если в программе снова вызвать
bbGraphics3D() с новыми параметрами,
то что то удаляется? спрайты, камера, свет?
Раньше перед сменой разрешения был Clearworld() и повторная загрузка всех энтити.
А теперь программа виснет после нового вызова графики.

Вообще пример по корректному переключению разрешения внутри программы хотелось бы, без очистки всего мира.
__________________
--==twistedterra.github.io==--
(Offline)
 
Ответить с цитированием
Старый 24.07.2008, 13:33   #2
NoNsense
ПроЭктировщик
 
Аватар для NoNsense
 
Регистрация: 13.06.2008
Сообщений: 131
Написано 30 полезных сообщений
(для 61 пользователей)
Ответ: смена разрешения

начал потихоньку разбираться:
во-первых удаляются шрифты, их надо грузить заново
__________________
--==twistedterra.github.io==--
(Offline)
 
Ответить с цитированием
Старый 24.07.2008, 13:34   #3
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: смена разрешения

на самом деле без отчистки всего мира разрешение не переключить никак, потомучто заново пересоздается девайс и теряются все загруженные в видеопамять ресурсы. мое имхо - на самом деле не нужно сменять разрешение в программе. Или сделай внешний файл - или пиши в программе, что на самом деле ее нужно перезапустить после смены разрешения, и на самом деле только после етого прмиенится новое разрешение.
(Offline)
 
Ответить с цитированием
Старый 24.07.2008, 13:43   #4
NoNsense
ПроЭктировщик
 
Аватар для NoNsense
 
Регистрация: 13.06.2008
Сообщений: 131
Написано 30 полезных сообщений
(для 61 пользователей)
Ответ: смена разрешения

Так, понятно - видимо смена графики убивает вообще все
__________________
--==twistedterra.github.io==--
(Offline)
 
Ответить с цитированием
Старый 24.07.2008, 13:45   #5
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: смена разрешения

на самом деле - шрифты это тоже текстура. и тоже хранится в видеопамяти (наверное).

у меня было очень много глюков с динамичной сменой разрешения. поетому я забил на него - просто пишу жирную мигающую надпись - перезапусти программу.
(Offline)
 
Ответить с цитированием
Старый 24.07.2008, 13:46   #6
NoNsense
ПроЭктировщик
 
Аватар для NoNsense
 
Регистрация: 13.06.2008
Сообщений: 131
Написано 30 полезных сообщений
(для 61 пользователей)
Ответ: смена разрешения

Можно переключать без очистки - но приходится грузить все заново. Вот такая ерунда.
Просто хотелось сделать как в обычных играх. Может просто перезапускать программу и откатывать ее до этого момента? Перезапуск приложения ведь можно сделать?
__________________
--==twistedterra.github.io==--
(Offline)
 
Ответить с цитированием
Старый 24.07.2008, 13:53   #7
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: смена разрешения

В каждой второй обычной игре именно так и делают - пишут здоровую надпись "Перезапусти игру"
Либо переключить разрешение можно только в меню.
А меню загрузить заново намного легче чем непосредственно игру.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 24.07.2008, 13:58   #8
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: смена разрешения

тут в чем загвоздка, на самом деле еще до загрузки меню (где можно выбрать уровень например) часто грузят всякие уровненезависимые вещи. Например игрока и его подругу )) Чтобы не грузить каждый раз заново. На мой взгляд - не стоит 10 секунд на перезапуск игры столького геморроя, сколько его вызывает реализация "горячей" смены разрешения.
(Offline)
 
Ответить с цитированием
Старый 24.07.2008, 14:03   #9
NoNsense
ПроЭктировщик
 
Аватар для NoNsense
 
Регистрация: 13.06.2008
Сообщений: 131
Написано 30 полезных сообщений
(для 61 пользователей)
Я в меню и переключаю.
Дело в том, что между меню и остальными местами не должно быть рывка со сменой разрешения (или просто с перезагрузкой без смены разрешения).
Сейчас все работает, но маска спрайтов опять нарушается если в меню переключить разрешение и все загрузить снова - потому что при смене разрешения приходится грузить все элементы - и меню и остальное.
Вобщем мне надо либо программно перезапускать приложение, либо понять почему нарушается маска. Есть конечно еще один вариант - с добавлением минимальной альфы маска действует, но появляются небольшие пиксельные артефакты.

Я конечно могу делать первую загрузку объектов уровня после выхода из меню дальше в игру, но игрок может вернуться обратно в меню из игры (при этом игровые объекты спрячутся, а не сотрутся) и переключить таки разрешение. Тогда привет маска

Не помогает даже принудительное удаление каждого спрайта перед сменой разрешения.
__________________
--==twistedterra.github.io==--

Последний раз редактировалось HolyDel, 24.07.2008 в 14:38.
(Offline)
 
Ответить с цитированием
Старый 24.07.2008, 14:16   #10
Alex_Noc
Разработчик
 
Регистрация: 02.04.2007
Сообщений: 353
Написано 54 полезных сообщений
(для 289 пользователей)
Ответ: смена разрешения

кстати я делал в меню переключалку разрешений - но была одна проблема - при разе 3ем - разрешение слетало
вобщем половину рисовалось черным как спрайт как будто загораживет камеру.
Щас уже не помню , но делал прям без перегрузки смену разрешений - это точно.
вобщем писал в .ini и оттуда читал.
(Offline)
 
Ответить с цитированием
Старый 24.07.2008, 14:21   #11
NoNsense
ПроЭктировщик
 
Аватар для NoNsense
 
Регистрация: 13.06.2008
Сообщений: 131
Написано 30 полезных сообщений
(для 61 пользователей)
Да, тоже примерно на третьем разе маска рушится
А разрешения и так в файл сохраняются, а потом игра меняет разрешение на новое.
Короче при первой смене разрешения назначу альфу спрайтам,
пока так.

после смены разрешения назначение альфы лечит проблему, главное назначить ее спрайту до создания копий.
__________________
--==twistedterra.github.io==--

Последний раз редактировалось HolyDel, 24.07.2008 в 14:39.
(Offline)
 
Ответить с цитированием
Старый 24.07.2008, 14:51   #12
NoNsense
ПроЭктировщик
 
Аватар для NoNsense
 
Регистрация: 13.06.2008
Сообщений: 131
Написано 30 полезных сообщений
(для 61 пользователей)
Ответ: смена разрешения

Наверно дело в том что копии спрайтов находятся в массиве с типом,
наверно нужно массив с типом объявлять заново?
(попробовал - не помогает )
__________________
--==twistedterra.github.io==--

Последний раз редактировалось NoNsense, 24.07.2008 в 14:58. Причина: дополнение
(Offline)
 
Ответить с цитированием
Старый 25.07.2008, 13:32   #13
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Ответ: смена разрешения

я просто написал внешний перезагрузчик на пурике
запускаю его из блитца и закрываю программу.
он запускается ждет 5 сек. и запускает игру заново
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
FrankH (26.07.2008)
Старый 28.07.2008, 06:43   #14
NoNsense
ПроЭктировщик
 
Аватар для NoNsense
 
Регистрация: 13.06.2008
Сообщений: 131
Написано 30 полезных сообщений
(для 61 пользователей)
Ответ: смена разрешения

собственно сильно будет необходимо так и сделаю, тем более на PureBasic + Blitz3Dsdk делаю
__________________
--==twistedterra.github.io==--
(Offline)
 
Ответить с цитированием
Старый 30.07.2008, 01:20   #15
Alex_Noc
Разработчик
 
Регистрация: 02.04.2007
Сообщений: 353
Написано 54 полезных сообщений
(для 289 пользователей)
Ответ: смена разрешения

Я кароч сделал 2 ексешки - 1 меню установок - из нее запускаетсья основная ексешка программы. Конфиг файл один на 2 (в 1 проге ты его меняешь а в запускаемой читаешь) все просто
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выбор разрешения в меню! Unodeya 3D-программирование 3 19.05.2009 11:33
смена разрешения. HolyDel FAQ 17 19.12.2007 17:19
изменение разрешения и загруженые ресурсы jimon 2D-программирование 5 13.11.2007 01:09
Смена разрешения. Bagration 2D-программирование 12 06.11.2007 13:14
Смена дня и ночи haedim 3D-программирование 18 30.10.2006 22:23


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


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