|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.01.2010, 04:01 | #1 |
Форумчанин
Регистрация: 26.01.2010
Сообщений: 215
|
Как реанимировать D3DX8 после операции свернуть/развернуть
Имеется игрушка, в принципе до завершения ее еще далеко но встал уже такой вопрос. В полноэкранном режиме после операции свернуть развернуть больше ни чего не выводится. показывает черный экран. Использую direct3d. На настоящий момент с проблемой справился следующим образом: убиваю все объекты directx: Sprite, texture, Device, D3D; и создаю их заново. Что то мне кажется что должен быть более гуманный метод.
Могу лишь пнуть в нужном направлении (ну или как получится)
|
27.01.2010, 04:44 | #2 |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
Вообще, таким вопросом задавался, но на этом всё и ограничивалось. Но судя по тому, как долго сворачиваются/разворачиваются игры в полноэкранном режиме, там всё связанное с графикой, звуком, сетью, видео уничтожается при сворачивании и заново создаётся при разворачивании.
Ведь нужно как минимум создать/уничтожить корневые объекты (главный объект и девайс). Директ работает по принципу сервера, тогда логично, что созданные в другом сеансе объекты не будут работать. Последний раз редактировалось Carbon; 27.01.2010 в 04:48. |
27.01.2010, 05:01 | #3 |
Форумчанин
Регистрация: 26.01.2010
Сообщений: 215
|
ну да при создании текстуры она привязывается к устройству
D3DXCreateTextureFromFileEx( g_device, pchar(Path), 0, 0, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_DEFAULT, D3DX_FILTER_NONE, D3DX_FILTER_NONE, 0, nil, nil, g_texture[free_slot_num] ); так что при уничтожении устройства я так понял уничтожаются и текстуры. Может все таки есть способы что бы восстановить работоспособность без уничтожения объектов. Ведь если взять крупные игры я сомниваюсь что там все ресурсы загружаются вновь.
Могу лишь пнуть в нужном направлении (ну или как получится)
|
27.01.2010, 17:41 | #4 | |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
Цитата:
Я и не говорил, что в играх все ресурсы вновь загружаются. К примеру карты, скрипты, тексты шейдеров, ландшафтные сетки, расположение объектов и связанные с ними данные и т.д. Ведь при разворачивании ты начинаешь игру с того места, где остановился, а не заново. |
|
28.01.2010, 22:56 | #5 |
Форумчанин
Регистрация: 26.01.2010
Сообщений: 215
|
Под ресурсами я имел ввиду текстуры.
Кстати у устройства есть функция Reset. Пытаюсь ее вызвать при развернутом экране, она возвращает что все хорошо, но тем не менее на BeginScene() вылетает ошибка в модуле D3DX8.dll
Могу лишь пнуть в нужном направлении (ну или как получится)
|
28.01.2010, 23:12 | #6 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
Код:
Код:
пыщь
Последний раз редактировалось JTG; 28.01.2010 в 23:17. |
29.01.2010, 01:57 | #7 |
Форумчанин
Регистрация: 26.01.2010
Сообщений: 215
|
сделал так
Код:
Могу лишь пнуть в нужном направлении (ну или как получится)
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Баг в цикле: программно развернуть - свернуть - восстановить окно | chandrasecar | Общие вопросы Delphi | 23 | 02.12.2011 16:05 |
как свернуть и развернуть форму? | blackstersl | Общие вопросы Delphi | 7 | 25.06.2009 09:20 |
как развернуть окно? | Sergeu | Общие вопросы Delphi | 2 | 19.01.2009 17:02 |
Свернуть, развернуть, восстановить окно | chandrasecar | Win Api | 1 | 15.10.2008 00:13 |
Как развернуть ячейки? | alibaba | Microsoft Office Excel | 2 | 28.11.2007 11:05 |