|
|
Ответов: 0
|
25-02-12 07:01
|
|
|
|
Ответов: 0
|
16-01-12 20:13
|
|
|
|
Ответов: 1
|
09-01-12 11:23
|
|
   Web - программирование
|
|
|
   Программирование под ОС
|
|
|
   Web - технологии
|
|
|
   Базы Данных
|
|
|
|
Возможно вас заинтересует
|
|
Использование полноэкранного режима D3D8
В предыдущем уроке мы научились создавать и
отображать простейшие примитивы (треугольники) в двухмерном пространстве. Они
были нам необходимы для наглядного представления настоящего урока. Теперь мы
научимся использовать D3D8 в полноэкранном режиме. Данная тема не освещена в
известных мне источниках, так что надеюсь вам данный урок тоже поможет и будет
полезен.
Для использования D3D8 в полноэкранном режиме нам
необходимо знать, как необходимо производить инициализацию, кроме того, нам
будет необходимо научиться производить обнаружение доступных видео режимов.
Создадим для этого примера и последующей работы
диалоговое окно следующего вида :
здесь мы можем выбирать между режимом отображения
(оконное или полноэкранное) и выбирать размер окна (для оконного) или
разрешение, глубину и частоту обновления экрана (для полноэкранного режима).
Для работы этого диалога нам необходима вызвать
функцию его отображения в функции AppInit () :
создать несколько необходимых переменных, которые
мы будем использовать для хранения информации о том, используем ли мы полный
экран, если НЕТ, то нам понадобятся две переменные для хранения выбраного
размера окна, а если ДА, то струтура для хранения данных об выбранном режиме
экрана :
а также создать для этого диалога функцию
обработки сообщений :
Данная функция обработки весьма простая и я
надеюсь здесь все понятно, единственные важные строки, в которых мы производим
обнаружение доступных нам видеорежимов :
Здесь -
-- мы сначала создаем временный интерфейс D3D8,
необходимый нам для получения информации о доступных видеорежимах (
LPDIRECT3D8 p_d3dt = Direct3DCreate8 (D3D_SDK_VERSION); ), -- затем
получаем общее их количество ( int allVideoModes =
p_d3dt->GetAdapterModeCount (D3DADAPTER_DEFAULT); ), -- и последнее -
для каждого видеорежима мы получаем данные которые его описывают (как то ширина,
высота, глубина цвета - точнее формат поверхности, и частоту обновления) (
p_d3dt->EnumAdapterModes (D3DADAPTER_DEFAULT, i, &d3ddm2); )
потом по полученой информации о формате
поверхности, мы решаем какую глубину цвета это обозначает и затем заносим
полученные данные в список, из которого мы можем его выбрать.
После того как наш диалог отработал, и мы уже
знаем необходимую нам информацию мы переходим к следующему шагу - создание окна.
В зависимости от того, используем ли мы полноэкранный режим или нет, мы должны
создавать окно с разными параметрами :
And also with different parameters we should do
initialization D3D8 :
Здесь нам интересны строчки инициализации
полноэкранного режима.
-- сначала устанавливаем ширину и высоту экрана,
-- количество вторичных буферов, -- частоту обновления экрана,
-- потом устанавливаем флаг того, что мы не будем
использовать оконное приложение ( d3dpp.Windowed = false; // !
isFullScreen ) -- и задаем формат, нам необходимый, -- и метод
обновления экрана.
Все остальное остается без изменений.
На этом данный урок заканчивается...
Это - библиотека диспетчера Microsoft DirectX, чтобы оптимизировать графы и звуковые представления для Windows... подробнее
|
Кол. просмотров: общее - 3589 сегодня - 0
|
|
Особенности программирования DirectX графики для видео карт nVidia (по материалам nVidia)... подробнее
|
Кол. просмотров: общее - 4050 сегодня - 0
|
|
|
Кол. просмотров: общее - 4655 сегодня - 0
|
|
Темой этого урока я решил сделать написание т. н. движка. Полагая, что всегда существует определённый контингент людей, только начавших изучать мультимедийные и игровые технологии, и плавающие в загадочных понятиях, объясню, что такое движок и на каком бензине он работает... подробнее
|
Кол. просмотров: общее - 4046 сегодня - 0
|
|
По прошествии некоторого времени после празднования Нового Года и всего, что с ним связано, предлагаю вашему вниманию новый урок. Посвящен он будет извлечению информации о возможностях вашей видео карты... подробнее
|
Кол. просмотров: общее - 3943 сегодня - 0
|
|
|
|