Не знаю,в интернете искал?Добавлено (2010-04-09, 5:42 PM)
---------------------------------------------
Обычно все игры, особенно 3d, делают в полноэкранном режиме, т.к. наибольшая производительность видеокарты происходит именно в этом режиме. Во времена DOS-а, это был самый лучший режим, но когда появился Windows 3.1 и начало эры Windows 95, то игр было очень мало, т.к. они плохо работали в оконном режиме, что было невозможно играть. Но DirectX3 все это наладил и позволил разработчикам использовать этот уникальный режим. Сейчас, в полноэкранном режиме с разрешениями от 640x480 до 1920х1280 и выше с 16-24-32 битами никого не удивишь, а раньше это было что-то, даже представить себе не могли... как в каменном веке жили ;), хорошо что эти "века" в компьютерном мире пролетают гораздо быстрее...
А теперь, собственно, возвращаемся назад, к теме. Для того, чтобы инициализировать полноэкранный режим, нам нужно приложить немного усилий и мы этим сейчас и займемся. Там где мы регистрировали класс и на основе его создавали окно, нужно поменять одну строчку, на данный момент она у Вас выглядит:
hWnd = CreateWindowEx (
WS_EX_TOPMOST,
APPNAME,
APPTITLE,
WS_OVERLAPPEDWINDOW,
0, 0,
640,
480,
NULL,
NULL,
hThisInst,
NULL);
Вместо WS_OVERLAPPEDWINDOW указываем WS_POPUP. Если Вам эти параметры не понятны, смотрите раздел MFC, я лишь здесь коротко скажу, что эти флажки делают различные окна (перекрываемое окно (обычное) и окно, которое ничего не содержит, т.е. нет кнопок свертывания, закрытия, меню и т.д., также есть и другие виды окон) и вместо 640, 480 ставим свой любимый режим, у меня 1024x768. Переходим в AppInit() и устанавим вручную параметры дисплея. После функции ZeroMemory() добавьте:
d3dpp.BackBufferWidth = 1024;
d3dpp.BackBufferHeight = 768;
d3dpp.BackBufferCount = 3;
d3dpp.FullScreen_RefreshRateInHz = 100;
Это мы задали ширину и высоту экрана, которые также присваивали в CreateWindowEx(). Будет у нас 3 задних буфера и выставим частоту равную 100 Mhz. Здесь я дам один совет, если Вы частоту режимов поставили жестко, менее, скажем, 100 не работать, то здесь Вам нужно указать тоже не менее 100 Mhz, иначе приложение не будет работать. Если у кого-то монитор не поддерживает данную частоту в этом режиме, можете заменить ее на 85 или менее...
В d3dpp.Windowed = true; вместо true ставим false, используем полноэкранный режим. Строку:
d3dpp.BackBufferFormat = d3ddm.Format;
оставьте неизменной и ни в коем случае не ставьте, скажем, параметр D3DFMT_A8R8G8B8 (32 битный ARGB пиксельный формат, с поддержкой альфа канала) или другой, об этом Вы узнаете в "Шаг 8 - Потеря устройств при нажатии клавиш Alt+TAB". Все, полноэкранный режим инициализирован и, если Вы сейчас попытаетесь скомпилировать и запустить, то Вы все это увидите, но... не сможете закрыть... поэтому придется добавить событие, чтобы при любой клавише данное приложение закрывалось автоматически, добавьте в WindowProc в switch:
case WM_CHAR:
PostQuitMessage (0);
break;
Вот теперь компилируйте и запускайте
Хрен знает чё такое,на сайтах в интернете нашёл