📄 d3d8types.h
字号:
D3DSWAPEFFECT_COPY = 3,
D3DSWAPEFFECT_COPY_VSYNC = 4,
D3DSWAPEFFECT_FORCE_DWORD = 0x7fffffff
} D3DSWAPEFFECT;
/* Pool types */
typedef enum _D3DPOOL {
D3DPOOL_DEFAULT = 0,
D3DPOOL_MANAGED = 1,
D3DPOOL_SYSTEMMEM = 2,
D3DPOOL_SCRATCH = 3,
D3DPOOL_FORCE_DWORD = 0x7fffffff
} D3DPOOL;
/* RefreshRate pre-defines */
#define D3DPRESENT_RATE_DEFAULT 0x00000000
#define D3DPRESENT_RATE_UNLIMITED 0x7fffffff
/* Resize Optional Parameters */
typedef struct _D3DPRESENT_PARAMETERS_
{
UINT BackBufferWidth;
UINT BackBufferHeight;
D3DFORMAT BackBufferFormat;
UINT BackBufferCount;
D3DMULTISAMPLE_TYPE MultiSampleType;
D3DSWAPEFFECT SwapEffect;
HWND hDeviceWindow;
BOOL Windowed;
BOOL EnableAutoDepthStencil;
D3DFORMAT AutoDepthStencilFormat;
DWORD Flags;
/* Following elements must be zero for Windowed mode */
UINT FullScreen_RefreshRateInHz;
UINT FullScreen_PresentationInterval;
} D3DPRESENT_PARAMETERS;
// Values for D3DPRESENT_PARAMETERS.Flags
#define D3DPRESENTFLAG_LOCKABLE_BACKBUFFER 0x00000001
/* Gamma Ramp: Same as DX7 */
typedef struct _D3DGAMMARAMP
{
WORD red [256];
WORD green[256];
WORD blue [256];
} D3DGAMMARAMP;
/* Back buffer types */
typedef enum _D3DBACKBUFFER_TYPE
{
D3DBACKBUFFER_TYPE_MONO = 0,
D3DBACKBUFFER_TYPE_LEFT = 1,
D3DBACKBUFFER_TYPE_RIGHT = 2,
D3DBACKBUFFER_TYPE_FORCE_DWORD = 0x7fffffff
} D3DBACKBUFFER_TYPE;
/* Types */
typedef enum _D3DRESOURCETYPE {
D3DRTYPE_SURFACE = 1,
D3DRTYPE_VOLUME = 2,
D3DRTYPE_TEXTURE = 3,
D3DRTYPE_VOLUMETEXTURE = 4,
D3DRTYPE_CUBETEXTURE = 5,
D3DRTYPE_VERTEXBUFFER = 6,
D3DRTYPE_INDEXBUFFER = 7,
D3DRTYPE_FORCE_DWORD = 0x7fffffff
} D3DRESOURCETYPE;
/* Usages */
#define D3DUSAGE_RENDERTARGET (0x00000001L)
#define D3DUSAGE_DEPTHSTENCIL (0x00000002L)
/* Usages for Vertex/Index buffers */
#define D3DUSAGE_WRITEONLY (0x00000008L)
#define D3DUSAGE_SOFTWAREPROCESSING (0x00000010L)
#define D3DUSAGE_DONOTCLIP (0x00000020L)
#define D3DUSAGE_POINTS (0x00000040L)
#define D3DUSAGE_RTPATCHES (0x00000080L)
#define D3DUSAGE_NPATCHES (0x00000100L)
#define D3DUSAGE_DYNAMIC (0x00000200L)
/* CubeMap Face identifiers */
typedef enum _D3DCUBEMAP_FACES
{
D3DCUBEMAP_FACE_POSITIVE_X = 0,
D3DCUBEMAP_FACE_NEGATIVE_X = 1,
D3DCUBEMAP_FACE_POSITIVE_Y = 2,
D3DCUBEMAP_FACE_NEGATIVE_Y = 3,
D3DCUBEMAP_FACE_POSITIVE_Z = 4,
D3DCUBEMAP_FACE_NEGATIVE_Z = 5,
D3DCUBEMAP_FACE_FORCE_DWORD = 0x7fffffff
} D3DCUBEMAP_FACES;
/* Lock flags */
#define D3DLOCK_READONLY 0x00000010L
#define D3DLOCK_DISCARD 0x00002000L
#define D3DLOCK_NOOVERWRITE 0x00001000L
#define D3DLOCK_NOSYSLOCK 0x00000800L
#define D3DLOCK_NO_DIRTY_UPDATE 0x00008000L
/* Vertex Buffer Description */
typedef struct _D3DVERTEXBUFFER_DESC
{
D3DFORMAT Format;
D3DRESOURCETYPE Type;
DWORD Usage;
D3DPOOL Pool;
UINT Size;
DWORD FVF;
} D3DVERTEXBUFFER_DESC;
/* Index Buffer Description */
typedef struct _D3DINDEXBUFFER_DESC
{
D3DFORMAT Format;
D3DRESOURCETYPE Type;
DWORD Usage;
D3DPOOL Pool;
UINT Size;
} D3DINDEXBUFFER_DESC;
/* Surface Description */
typedef struct _D3DSURFACE_DESC
{
D3DFORMAT Format;
D3DRESOURCETYPE Type;
DWORD Usage;
D3DPOOL Pool;
UINT Size;
D3DMULTISAMPLE_TYPE MultiSampleType;
UINT Width;
UINT Height;
} D3DSURFACE_DESC;
typedef struct _D3DVOLUME_DESC
{
D3DFORMAT Format;
D3DRESOURCETYPE Type;
DWORD Usage;
D3DPOOL Pool;
UINT Size;
UINT Width;
UINT Height;
UINT Depth;
} D3DVOLUME_DESC;
/* Structure for LockRect */
typedef struct _D3DLOCKED_RECT
{
INT Pitch;
void* pBits;
} D3DLOCKED_RECT;
/* Structures for LockBox */
typedef struct _D3DBOX
{
UINT Left;
UINT Top;
UINT Right;
UINT Bottom;
UINT Front;
UINT Back;
} D3DBOX;
typedef struct _D3DLOCKED_BOX
{
INT RowPitch;
INT SlicePitch;
void* pBits;
} D3DLOCKED_BOX;
/* Structures for LockRange */
typedef struct _D3DRANGE
{
UINT Offset;
UINT Size;
} D3DRANGE;
/* Structures for high order primitives */
typedef struct _D3DRECTPATCH_INFO
{
UINT StartVertexOffsetWidth;
UINT StartVertexOffsetHeight;
UINT Width;
UINT Height;
UINT Stride;
D3DBASISTYPE Basis;
D3DORDERTYPE Order;
} D3DRECTPATCH_INFO;
typedef struct _D3DTRIPATCH_INFO
{
UINT StartVertexOffset;
UINT NumVertices;
D3DBASISTYPE Basis;
D3DORDERTYPE Order;
} D3DTRIPATCH_INFO;
/* Adapter Identifier */
#define MAX_DEVICE_IDENTIFIER_STRING 512
typedef struct _D3DADAPTER_IDENTIFIER8
{
char Driver[MAX_DEVICE_IDENTIFIER_STRING];
char Description[MAX_DEVICE_IDENTIFIER_STRING];
#ifdef _WIN32
LARGE_INTEGER DriverVersion; /* Defined for 32 bit components */
#else
DWORD DriverVersionLowPart; /* Defined for 16 bit driver components */
DWORD DriverVersionHighPart;
#endif
DWORD VendorId;
DWORD DeviceId;
DWORD SubSysId;
DWORD Revision;
GUID DeviceIdentifier;
DWORD WHQLLevel;
} D3DADAPTER_IDENTIFIER8;
/* Raster Status structure returned by GetRasterStatus */
typedef struct _D3DRASTER_STATUS
{
BOOL InVBlank;
UINT ScanLine;
} D3DRASTER_STATUS;
/* Debug monitor tokens (DEBUG only)
Note that if D3DRS_DEBUGMONITORTOKEN is set, the call is treated as
passing a token to the debug monitor. For example, if, after passing
D3DDMT_ENABLE/DISABLE to D3DRS_DEBUGMONITORTOKEN other token values
are passed in, the enabled/disabled state of the debug
monitor will still persist.
The debug monitor defaults to enabled.
Calling GetRenderState on D3DRS_DEBUGMONITORTOKEN is not of any use.
*/
typedef enum _D3DDEBUGMONITORTOKENS {
D3DDMT_ENABLE = 0, // enable debug monitor
D3DDMT_DISABLE = 1, // disable debug monitor
D3DDMT_FORCE_DWORD = 0x7fffffff,
} D3DDEBUGMONITORTOKENS;
// GetInfo IDs
#define D3DDEVINFOID_RESOURCEMANAGER 5 /* Used with D3DDEVINFO_RESOURCEMANAGER */
#define D3DDEVINFOID_VERTEXSTATS 6 /* Used with D3DDEVINFO_D3DVERTEXSTATS */
typedef struct _D3DRESOURCESTATS
{
// Data collected since last Present()
BOOL bThrashing; /* indicates if thrashing */
DWORD ApproxBytesDownloaded; /* Approximate number of bytes downloaded by resource manager */
DWORD NumEvicts; /* number of objects evicted */
DWORD NumVidCreates; /* number of objects created in video memory */
DWORD LastPri; /* priority of last object evicted */
DWORD NumUsed; /* number of objects set to the device */
DWORD NumUsedInVidMem; /* number of objects set to the device, which are already in video memory */
// Persistent data
DWORD WorkingSet; /* number of objects in video memory */
DWORD WorkingSetBytes; /* number of bytes in video memory */
DWORD TotalManaged; /* total number of managed objects */
DWORD TotalBytes; /* total number of bytes of managed objects */
} D3DRESOURCESTATS;
#define D3DRTYPECOUNT (D3DRTYPE_INDEXBUFFER+1)
typedef struct _D3DDEVINFO_RESOURCEMANAGER
{
D3DRESOURCESTATS stats[D3DRTYPECOUNT];
} D3DDEVINFO_RESOURCEMANAGER, *LPD3DDEVINFO_RESOURCEMANAGER;
typedef struct _D3DDEVINFO_D3DVERTEXSTATS
{
DWORD NumRenderedTriangles; /* total number of triangles that are not clipped in this frame */
DWORD NumExtraClippingTriangles; /* Number of new triangles generated by clipping */
} D3DDEVINFO_D3DVERTEXSTATS, *LPD3DDEVINFO_D3DVERTEXSTATS;
#pragma pack()
#if _MSC_VER >= 1200
#pragma warning(pop)
#else
#pragma warning(default:4201)
#endif
#endif /* (DIRECT3D_VERSION >= 0x0800) */
#endif /* _D3D8TYPES(P)_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -