Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DirectX разрешение 
:(
    Опции темы
sfok3
Дата 3.8.2009, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 14.7.2009

Репутация: нет
Всего: нет



Код

{******************************************************************************}
{**                  Инициализация Direct3D                                                                                          **}
{******************************************************************************}
function TForm1.InitD3D: HResult;
var
  d3dDisplayInfo: TD3DDisplayMode;
  d3dpp: TD3DPresentParameters;
begin
  //результат по умолчанию
  Result:= E_FAIL;
  // Создание D3D объекта
  g_pD3D := Direct3DCreate9(D3D_SDK_VERSION);
  // Выход в случае ошибки
  if (g_pD3D = nil) then Exit;
  // Получаем установки текущего режима адаптера
  Result := g_pD3D.GetAdapterDisplayMode(D3DADAPTER_DEFAULT, d3dDisplayInfo);
  // Выход в случае ошибки
  if FAILED(Result) then EXIT;


  // Задаем параметры устройства:
  FillChar(d3dpp, SizeOf(d3dpp), 0);
  // Какой режим использовать, в данном случае полноэкранное приложение
  d3dpp.Windowed := False;
  d3dpp.FullScreen_RefreshRateInHz := d3dDisplayInfo.RefreshRate;
  d3dpp.BackBufferWidth := strtoint(edit1.Text);
  d3dpp.BackBufferHeight := strtoint(edit2.Text);
  // Режим переключения между буферами
  d3dpp.SwapEffect := D3DSWAPEFFECT_DISCARD;
  // Формат буфера
  d3dpp.BackBufferFormat := d3dDisplayInfo.Format;
  // использовать буфер глубины
  d3dpp.EnableAutoDepthStencil := True;
  //формат буфера глубины
  d3dpp.AutoDepthStencilFormat := D3DFMT_D16;

  // Создаем объект устройства
  Result:= g_pD3D.CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, Handle,
                               D3DCREATE_SOFTWARE_VERTEXPROCESSING,
                               @d3dpp, g_pd3dDevice);
  // Выход в случае ошибки
  if FAILED(Result) then
  begin
    Result:= E_FAIL;
    Exit;
  end;

  // включаем поддержку Z-буфера устройством
  g_pd3dDevice.SetRenderState(D3DRS_ZENABLE, iTrue);
  // Включаем окружающее освещение
  g_pd3dDevice.SetRenderState(D3DRS_AMBIENT, $ffffffff);

  Result:= S_OK;
end;


edit1 и edit2 в полноэкранном приложении исчезают :(
в edit1 и edit2 изначально пробовал задавать 1280х1024, потом 1024x768... разницы никакой не было

или может надо изменять разрешение в самом windows'е, а послу закрытия приложения возвращать раннее разрешение, если оно было изменено в приложении. В общем кто знает подскажите...

Это сообщение отредактировал(а) sfok3 - 3.8.2009, 23:12
PM MAIL   Вверх
Bitter
Дата 5.8.2009, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный лентяй
***


Профиль
Группа: Завсегдатай
Сообщений: 1209
Регистрация: 15.8.2004
Где: Харьков, Ukraine

Репутация: 6
Всего: 27



Цитата(sfok3 @  3.8.2009,  23:11 Найти цитируемый пост)
 В общем кто знает подскажите...


Вопрос в чем?


Цитата(sfok3 @  3.8.2009,  23:11 Найти цитируемый пост)
edit1 и edit2 в полноэкранном приложении исчезают :(


Еще бы! Визуальным компонентам не место в полноекранном режиме. Ставь оконный режим, растягивай окно на весь экран
PM MAIL ICQ Skype   Вверх
sfok3
Дата 5.8.2009, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 14.7.2009

Репутация: нет
Всего: нет



вопрос в том как в полноэкранном приложении изменять разрешение экрана?
PM MAIL   Вверх
Bitter
Дата 6.8.2009, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный лентяй
***


Профиль
Группа: Завсегдатай
Сообщений: 1209
Регистрация: 15.8.2004
Где: Харьков, Ukraine

Репутация: 6
Всего: 27



чтобы изменить разрешение, тебе надо уничтожить объект устройства. После чего создать его с новыми параметрами.
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.1512 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.