Visual Basic - мастерская разработчика
Библиотеки

DirectX

Обзоры
DirectDraw
Direct3D
DirectX Audio
DirectPlay
DirectInput
Fido Topics
SourceCode
Tools&Libs

OpenGL

Статьи и учебники
Fido Topics
SourceCode
Tools&Libs

Архив по Glide

Движки

Обзоры
Учебники
SourceCode
Downloads

Создание игр

Ваши игры

Обзорные статьи
Учебники
Fido Topics
SourceCode
Download

Stuff

Программер-Чат

Псевдо-FTP
Disclaimer
Оффтопик

 

Режимы Mode X и Mode 13

"Теория DirectDraw"


DirectDraw поддерживает режимы экрана Mode X и Mode 13.

Mode 13 - это линейный, не поддерживающий флиппинг, палетизированный режим 320x200x8, получивший свое название по своему шестнадцатиричному номеру 13 в BIOS.

DirectDraw может дать приложению в этом режиме прямой доступ к буферу кадра. В отличие от Mode X вы можете вызывать методы IDirectDrawSurface7::Lock (DirectDrawSurface7.Lock), Blt и BltFast, для прямого доступа к главной поверхности.

Mode X - это гибрид, получившийся из стандартного VGA режима Mode 13. Этот режим позволяет использовать до 256 килобайт памяти (в отличии от 64 килобайт Mode 13). DirectDraw позволяет работать в двух режимах Mode X (320x200x8 и 320x240x8) для всех видеокарт.

Некоторые видеокарты также поддерживают линейные режимы низкого разрешения. В этих режимах главная поверхность может быть блокирована и иметь возможность прямого доступа к ней. Это невозможно в режиме Mode X.

Режим Mode X доступен только если приложение использует флаги DDSCL_ALLOWMODEX, DDSCL_FULLSCREEN, и DDSCL_EXCLUSIVE, когда устанавлиевается cooperative level. Если флаг DDSCL_ALLOWMODEX не указан, IDirectDraw7::GetDisplayModesEnum (DirectDraw7.GetDisplayModesEnum) не будет находить Mode X, а IDirectDraw7::SetDisplayMode (DirectDraw7.SetDisplayMode) вообще работать не будет. В режиме Mode X вы не можете использовать методы IDirectDrawSurface7::Lock (DirectDrawSurface7.Lock) или IDirectDrawSurface7::Blt (DirectDrawSurface7.Blt). Также вы не можете использовать метод IDirectDrawSurface7::GetDC (DirectDrawSurface7.GetDC) для главной поверхности или GDI с экранным DC.

Mode X обозначается флагом DDSCAPS_MODEX в типе DDSCAPS2, который является частью типа DDSURFACEDESC2, возвращаемым функцией IDirectDrawSurface7::GetCaps (DirectDrawSurface7.GetCaps) и DirectDrawEnumModes.

Posted: 23.01.2k1
Autor: Antiloop
<anti_loop@mail.ru>

 


Проект
Создание Народного Учебника по OpenGL

Участвовать!
Поиск
Найдите статью или файл:


Рассылка
Новости сайта
La Vision в вашем почтовом ящике








Программирование на С++ Delphi и Паскаль
Центр демо-искусства в России