Microsoft DirectX 2

         

Microsoft DirectX 2

Использование DirectX 2 в Windows
Причины для разработки DirectX программ
DirectX 2 Компоненты
DirectDraw

DirectSound
DirectPlay
Direct3D
DirectInput
AutoPlay
Типовые прикладные программы


Модель компонентных объектов СОM
IUnknown
DirectX 2 SDK COM Интерфейсы
C ++ и интерфейс COM

Вызов COM объектов из C
NULL);
Названия методов интерфейса и синтаксис
Использование макроопределений
NULL);
Точность операций с плавающей запятой
DDSD_REFRESHRATE

DirectSetup
Соглашения
Краткий обзор
Относительно DirectDraw
Введение в DirectDraw

DirectDraw HAL
DirectDraw программная эмуляция
Типы объектов DirectDraw
Интерфейс IDirectDraw2
DDSCL_NORMAL);
Примечание
Многочисленные объекты DirectDraw в процессе
Модели использования основной поверхности
Изменение режимов и исключительного доступа

DDSCAPS_SYSTEMMEMORY;
Доступ к буферу изображения
Потеря поверхностей
Поддержка форматов поверхностей для HEL
Преобразование цвета и форматов
Сolor Keying
Определение Color Key
Палитровый режим с 8 битами

Истинный цветной режим с 24 битами
FourCC YUV режим
Оверлейный z-порядок
Палитры и форматы пикселя
Блиттинг в и из поверхностей системной памяти
Установка палитр на неосновныхПоверхностях
Совместное использование палитр
Новые типы палитры

Драйвер независимые ограничители
Отсекаемые списки
Карты Текстуры
Mipmaps
DDSCAPS_MIPMAP | DDSCAPS_COMPLEX;
Z-буферы

Интерфейс драйвера Direct3D
Интерфейс устройства Direct3D
Интерфейс текстуры Direct3D
DirectDraw HEL и Direct3D
Функции
DirectDrawCreate
DDERR_OUTOFMEMORY
DirectDrawCreateClipper

DirectDrawEnumerate
Callback функции
Callback
EnumCallback
EnumModesCallback
HRESULT WINAPI lpEnumSurfacesCallback (
FnCallback
Интерфейс IDirectDraw
Группы методов интерфейса IDirectDraw
CreateSurface

Release
WaitForVerticalBlank
GetGDISurface
IDirectDraw:: AddRef
IDirectDraw:: Compact
IDirectDraw:: CreateClipper
IDirectDraw:: CreatePalette
DDPCAPS_1BIT
DDPCAPS_2BIT
DDPCAPS_4BIT

DDPCAPS_8BITENTRIES
DDPCAPS_8BIT
DDPCAPS_ALLOW256
IDirectDraw:: CreateSurface
DDERR_UNSUPPORTEDMODE
Сценарий 1
Сценарий 2
Сценарий 3
IDirectDraw:: DuplicateSurface
DDERR_SURFACELOST

IDirectDraw2:: EnumDisplayModes
DDEDM_REFRESHRATES
IDirectDraw:: EnumSurfaces
DDENUMSURFACES_ALL
DDENUMSURFACES_MATCH
DDENUMSURFACES_NOMATCH
DDENUMSURFACES_CANBECREATED
DDENUMSURFACES_DOESEXIST
IDirectDraw:: FlipToGDISurface

DDERR_NOTFOUND
IDirectDraw2:: GetAvailableVidMem
IDirectDraw:: GetCaps
IDirectDraw:: GetDisplayMode
DDERR_UNSUPPORTEDMODE
IDirectDraw:: GetFourCCCodes
HRESULT GetGDISurface (
IDirectDraw:: GetMonitorFrequency

IDirectDraw:: GetScanLine
IDirectDraw:: GetVerticalBlankStatus
IDirectDraw:: Initialize
Возвращает DDERR_ALREADYINITIALIZED.
IDirectDraw:: QueryInterface
IDirectDraw:: Release
IDirectDraw:: RestoreDisplayMode
IDirectDraw:: SetCooperativeLevel
DDSCL_ALLOWMODEX

DDSCL_ALLOWREBOOT
DDSCL_FULLSCREEN
DDSCL_NOWINDOWCHANGES
IDirectDraw2:: SetDisplayMode
IDirectDraw:: WaitForVerticalBlank
DDWAITVB_BLOCKBEGIN
DDWAITVB_BLOCKBEGINEVENT
DDWAITVB_BLOCKEND
Интерфейс IDirectDrawSurface

Группы методов интерфейса IDirectDrawSurface
Restore

Microsoft DirectX 2

ReleaseDC
Unlock

GetFlipStatus
SetClipper
SetPalette
HRESULT AddAttachedSurface (
DDERR_WASSTILLDRAWING
IDirectDrawSurface:: AddOverlayDirtyRect
IDirectDrawSurface:: AddRef
IDirectDrawSurface:: Blt
DDBLT_ALPHADEST

DDBLT_ALPHADESTCONSTOVERRIDE
DDBLT_ALPHADESTNEG
DDBLT_ALPHADESTSURFACEOVERRIDE
DDBLT_ALPHAEDGEBLEND
DDBLT_ALPHASRC
DDBLT_ALPHASRCCONSTOVERRIDE
DDBLT_ALPHASRCNEG
DDBLT_ALPHASRCSURFACEOVERRIDE
DDBLT_ASYNC
DDBLT_COLORFILL

DDBLT_DDFX
DDBLT_DDROPS
DDBLT_DEPTHFILL
DDBLT_KEYDEST
DDBLT_KEYDESTOVERRIDE
DDBLT_KEYSRC
DDBLT_KEYSRCOVERRIDE
DDBLT_ROP
DDBLT_ROTATIONANGLE
DDBLT_WAIT

DDBLT_ZBUFFER
DDBLT_ZBUFFERDESTCONSTOVERRIDE
DDBLT_ZBUFFERDESTOVERRIDE
DDBLT_ZBUFFERSRCCONSTOVERRIDE
DDBLT_ZBUFFERSRCOVERRIDE
IDirectDrawSurface:: BltBatch
IDirectDrawSurface:: BltFast
DDBLTFAST_DESTCOLORKEY

DDBLTFAST_SRCCOLORKEY
DDBLTFAST_WAIT
IDirectDrawSurface:: DeleteAttachedSurface
IDirectDrawSurface:: EnumAttachedSurfaces
IDirectDrawSurface:: EnumOverlayZOrders
DDENUMOVERLAYZ_FRONTTOBACK
HRESULT Flip(
DDERR_UNSUPPORTED

DDFLIP_WAIT
IDirectDrawSurface:: GetAttachedSurface
IDirectDrawSurface:: GetBltStatus
DDGBS_CANBLT
DDGBS_ISBLTDONE
IDirectDrawSurface:: GetCaps
HRESULT GetClipper (
DDERR_NOCLIPPERATTACHED
IDirectDrawSurface:: GetColorKey
DDCKEY_DESTBLT

DDCKEY_DESTOVERLAY
DDCKEY_SRCBLT
DDCKEY_SRCOVERLAY
IDirectDrawSurface:: GetDC
IDirectDrawSurface2:: GetDDInterface
IDirectDrawSurface:: GetFlipStatus
DDGFS_CANFLIP
DDGFS_ISFLIPDONE
IDirectDrawSurface:: GetOverlayPosition
HRESULT GetPalette (

DDERR_UNSUPPORTED
IDirectDrawSurface:: GetPixelFormat
DDERR_INVALIDSURFACETYPE
IDirectDrawSurface:: GetSurfaceDesc
IDirectDrawSurface:: Initialize
IDirectDrawSurface:: IsLost
IDirectDrawSurface:: Lock
DDLOCK_EVENT

DDLOCK_READONLY
DDLOCK_SURFACEMEMORYPTR
DDLOCK_WAIT
DDLOCK_WRITEONLY
IDirectDrawSurface2:: PageLock
IDirectDrawSurface2:: PageUnlock
IDirectDrawSurface:: QueryInterface

IDirectDrawSurface:: Release
IDirectDrawSurface:: ReleaseDC
IDirectDrawSurface:: Restore
DDERR_WRONGMODE
IDirectDrawSurface:: SetClipper
IDirectDrawSurface:: SetColorKey
DDCKEY_COLORSPACE

IDirectDrawSurface:: SetOverlayPosition
IDirectDrawSurface:: SetPalette
IDirectDrawSurface:: Unlock
IDirectDrawSurface:: UpdateOverlay
DDERR_XALIGN
DDOVER_ADDDIRTYRECT
DDOVER_ALPHADEST

DDOVER_ALPHADESTCONSTOVERRIDE
DDOVER_ALPHADESTNEG
DDOVER_ALPHADESTSURFACEOVERRIDE
DDOVER_ALPHAEDGEBLEND
DDOVER_ALPHASRC
DDOVER_ALPHASRCCONSTOVERRIDE
DDOVER_ALPHASRCNEG
DDOVER_ALPHASRCSURFACEOVERRIDE
DDOVER_DDFX
DDOVER_KEYDEST

DDOVER_KEYDESTOVERRIDE
DDOVER_KEYSRC
DDOVER_KEYSRCOVERRIDE
DDOVER_ZORDER
IDirectDrawSurface:: UpdateOverlayDisplay
DDOVER_REFRESHDIRTYRECTS
DDOVER_REFRESHALL
IDirectDrawSurface:: UpdateOverlayZOrder
DDOVERZ_INSERTINBACKOF
DDOVERZ_INSERTINFRONTOF

DDOVERZ_MOVEBACKWARD
DDOVERZ_MOVEFORWARD
DDOVERZ_SENDTOBACK
DDOVERZ_SENDTOFRONT
IDirectDrawPalette Интерфейс
Группы методов интерфейса IDirectDrawPalette
SetEntries
IDirectDrawPalette:: AddRef
IDirectDrawPalette:: GetCaps

LpdwCaps
IDirectDrawPalette:: GetEntries
DDERR_NOTPALETTIZED
IDirectDrawPalette:: Initialize
Возвраты DDERR_ALREADYINITIALIZED.
IDirectDrawPalette:: QueryInterface
IDirectDrawPalette:: Release
IDirectDrawPalette:: SetEntries
Группы методов интерфейса IDirectDrawClipper

IDirectDrawClipper:: AddRef
IDirectDrawClipper:: GetClipList
IDirectDrawClipper:: GetHWnd
IDirectDrawClipper:: Initialize
IDirectDrawClipper:: IsClipListChanged
IDirectDrawClipper:: QueryInterface

Microsoft DirectX 2

IDirectDrawClipper:: Release
IDirectDrawClipper:: SetClipList

IDirectDrawClipper:: SetHWnd
Typedef struct _DDBLTBATCH {
LpDDBltFx
Typedef struct _DDBLTFX {
DDBLTFX_ARITHSTRETCHY
DDBLTFX_MIRRORLEFTRIGHT

DDBLTFX_MIRRORUPDOWN
DDBLTFX_NOTEARING
DDBLTFX_ROTATE180
DDBLTFX_ROTATE270
DDBLTFX_ROTATE90
DDBLTFX_ZBUFFERBASEDEST
DDBLTFX_ZBUFFERRANGE
Typedef struct _DDCAPS {
DDCAPS_3D
DDCAPS_ALIGNBOUNDARYDEST

DDCAPS_ALIGNBOUNDARYSRC
DDCAPS_ALIGNSIZEDEST
DDCAPS_ALIGNSIZESRC
DDCAPS_ALIGNSTRIDE
DDCAPS_ALPHA
DDCAPS_BANKSWITCHED
DDCAPS_BLT
DDCAPS_BLTCOLORFILL
DDCAPS_BLTDEPTHFILL
DDCAPS_BLTFOURCC

DDCAPS_BLTQUEUE
DDCAPS_BLTSTRETCH
DDCAPS_CANBLTSYSMEM
DDCAPS_CANCLIP
DDCAPS_CANCLIPSTRETCHED
DDCAPS_COLORKEY
DDCAPS_COLORKEYHWASSIST
DDCAPS_GDI
DDCAPS_OVERLAY
DDCAPS_OVERLAYCANTCLIP

DDCAPS_OVERLAYFOURCC
DDCAPS_OVERLAYSTRETCH
DDCAPS_PALETTE
DDCAPS_PALETTEVSYNC
DDCAPS_READSCANLINE
DDCAPS_STEREOVIEW
DDCAPS_VBI
DDCAPS_ZBLTS
DDCAPS_ZOVERLAYS
DDCAPS2_CERTIFIED

DDCAPS2_NO2DDURING3DSCENE
DDCKEYCAPS_DESTBLT
DDCKEYCAPS_DESTBLTCLRSPACE
DDCKEYCAPS_DESTBLTCLRSPACEYUV
DDCKEYCAPS_DESTBLTYUV
DDCKEYCAPS_DESTOVERLAY
DDCKEYCAPS_DESTOVERLAYCLRSPACE
DDCKEYCAPS_DESTOVERLAYCLRSPACEYUV
DDCKEYCAPS_DESTOVERLAYONEACTIVE
DDCKEYCAPS_DESTOVERLAYYUV

DDCKEYCAPS_NOCOSTOVERLAY
DDCKEYCAPS_SRCBLT
DDCKEYCAPS_SRCBLTCLRSPACE
DDCKEYCAPS_SRCBLTCLRSPACEYUV
DDCKEYCAPS_SRCBLTYUV
DDCKEYCAPS_SRCOVERLAY
DDCKEYCAPS_SRCOVERLAYCLRSPACE
DDCKEYCAPS_SRCOVERLAYCLRSPACEYUV
DDCKEYCAPS_SRCOVERLAYONEACTIVE
DDCKEYCAPS_SRCOVERLAYYUV

DDFXCAPS_BLTARITHSTRETCHY
DDFXCAPS_BLTARITHSTRETCHYN
DDFXCAPS_BLTMIRRORLEFTRIGHT
DDFXCAPS_BLTMIRRORUPDOWN
DDFXCAPS_BLTROTATION
DDFXCAPS_BLTROTATION90
DDFXCAPS_BLTSHRINKX
DDFXCAPS_BLTSHRINKXN
DDFXCAPS_BLTSHRINKY
DDFXCAPS_BLTSHRINKYN

DDFXCAPS_BLTSTRETCHX
DDFXCAPS_BLTSTRETCHXN
DDFXCAPS_BLTSTRETCHY
DDFXCAPS_BLTSTRETCHYN
DDFXCAPS_OVERLAYARITHSTRETCHY
DDFXCAPS_OVERLAYARITHSTRETCHYN
DDFXCAPS_OVERLAYMIRRORLEFTRIGHT
DDFXCAPS_OVERLAYMIRRORUPDOWN
DDFXCAPS_OVERLAYSHRINKX
DDFXCAPS_OVERLAYSHRINKXN

DDFXCAPS_OVERLAYSHRINKY
DDFXCAPS_OVERLAYSHRINKYN
DDFXCAPS_OVERLAYSTRETCHX
DDFXCAPS_OVERLAYSTRETCHXN
DDFXCAPS_OVERLAYSTRETCHY
DDFXCAPS_OVERLAYSTRETCHYN
DDFXALPHACAPS_BLTALPHAEDGEBLEND
DDFXALPHACAPS_BLTALPHAPIXELS
DDFXALPHACAPS_BLTALPHAPIXELSNEG
DDFXALPHACAPS_BLTALPHASURFACES

DDFXALPHACAPS_BLTALPHASURFACESNEG
DDFXALPHACAPS_OVERLAYALPHAEDGEBLEND
DDFXALPHACAPS_OVERLAYALPHAPIXELS
DDFXALPHACAPS_OVERLAYALPHAPIXELSNEG
DDFXALPHACAPS_OVERLAYALPHASURFACES
DDFXALPHACAPS_OVERLAYALPHASURFACESNEG
DDPCAPS_1BIT
DDPCAPS_2BIT
DDPCAPS_4BIT
DDPCAPS_8BIT

DDSVCAPS_ENIGMA
DDSVCAPS_FLICKER
DDSVCAPS_REDBLUE
DDSVCAPS_SPLIT
DDBD_8,16,24,32

Typedef struct _DDCOLORKEY {
Typedef struct _DDOVERLAYFX {
DDOVERFX_ARITHSTRETCHY
DDOVERFX_MIRRORLEFTRIGHT
DDOVERFX_MIRRORUPDOWN
Typedef struct _DDPIXELFORMAT {
DDPF_ALPHA
DDPF_ALPHAPIXELS
DDPF_COMPRESSED

DDPF_PALETTEINDEXED1
DDPF_PALETTEINDEXEDTO8
DDPF_RGB
DDPF_RGBTOYUV
DDPF_YUV
DDPF_ZBUFFER
Typedef struct _DDSCAPS {

Microsoft DirectX 2

DDSCAPS_3D
DDSCAPS_3DDEVICE
DDSCAPS_ALLOCONLOAD
DDSCAPS_ALPHA

DDSCAPS_BACKBUFFER
DDSCAPS_COMPLEX
DDSCAPS_FLIP
DDSCAPS_FRONTBUFFER
DDSCAPS_HWCODEC
DDSCAPS_LIVEVIDEO
DDSCAPS_MIPMAP
DDSCAPS_MODEX
DDSCAPS_OFFSCREENPLAIN
DDSCAPS_OVERLAY

DDSCAPS_OWNDC
DDSCAPS_PALETTE
DDSCAPS_PRIMARYSURFACE
DDSCAPS_PRIMARYSURFACELEFT
DDSCAPS_TEXTURE
DDSCAPS_VIDEOMEMORY
DDSCAPS_VISIBLE
DDSCAPS_WRITEONLY
DDSCAPS_ZBUFFER