minimal set of dx7 sdk.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@210 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
062140bd41
commit
12f8804bc1
14 changed files with 14541 additions and 0 deletions
1683
engine/libs/dxsdk7/include/d3d.h
Normal file
1683
engine/libs/dxsdk7/include/d3d.h
Normal file
File diff suppressed because it is too large
Load diff
593
engine/libs/dxsdk7/include/d3dcaps.h
Normal file
593
engine/libs/dxsdk7/include/d3dcaps.h
Normal file
|
@ -0,0 +1,593 @@
|
|||
/*==========================================================================;
|
||||
*
|
||||
*
|
||||
* File: d3dcaps.h
|
||||
* Content: Direct3D capabilities include file
|
||||
*
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef _D3DCAPS_H
|
||||
#define _D3DCAPS_H
|
||||
|
||||
/*
|
||||
* Pull in DirectDraw include file automatically:
|
||||
*/
|
||||
#include "ddraw.h"
|
||||
|
||||
#ifndef DIRECT3D_VERSION
|
||||
#define DIRECT3D_VERSION 0x0700
|
||||
#endif
|
||||
|
||||
#pragma pack(4)
|
||||
|
||||
/* Description of capabilities of transform */
|
||||
|
||||
typedef struct _D3DTRANSFORMCAPS {
|
||||
DWORD dwSize;
|
||||
DWORD dwCaps;
|
||||
} D3DTRANSFORMCAPS, *LPD3DTRANSFORMCAPS;
|
||||
|
||||
#define D3DTRANSFORMCAPS_CLIP 0x00000001L /* Will clip whilst transforming */
|
||||
|
||||
/* Description of capabilities of lighting */
|
||||
|
||||
typedef struct _D3DLIGHTINGCAPS {
|
||||
DWORD dwSize;
|
||||
DWORD dwCaps; /* Lighting caps */
|
||||
DWORD dwLightingModel; /* Lighting model - RGB or mono */
|
||||
DWORD dwNumLights; /* Number of lights that can be handled */
|
||||
} D3DLIGHTINGCAPS, *LPD3DLIGHTINGCAPS;
|
||||
|
||||
#define D3DLIGHTINGMODEL_RGB 0x00000001L
|
||||
#define D3DLIGHTINGMODEL_MONO 0x00000002L
|
||||
|
||||
#define D3DLIGHTCAPS_POINT 0x00000001L /* Point lights supported */
|
||||
#define D3DLIGHTCAPS_SPOT 0x00000002L /* Spot lights supported */
|
||||
#define D3DLIGHTCAPS_DIRECTIONAL 0x00000004L /* Directional lights supported */
|
||||
#if(DIRECT3D_VERSION < 0x700)
|
||||
#define D3DLIGHTCAPS_PARALLELPOINT 0x00000008L /* Parallel point lights supported */
|
||||
#endif
|
||||
#if(DIRECT3D_VERSION < 0x500)
|
||||
#define D3DLIGHTCAPS_GLSPOT 0x00000010L /* GL syle spot lights supported */
|
||||
#endif
|
||||
|
||||
/* Description of capabilities for each primitive type */
|
||||
|
||||
typedef struct _D3DPrimCaps {
|
||||
DWORD dwSize;
|
||||
DWORD dwMiscCaps; /* Capability flags */
|
||||
DWORD dwRasterCaps;
|
||||
DWORD dwZCmpCaps;
|
||||
DWORD dwSrcBlendCaps;
|
||||
DWORD dwDestBlendCaps;
|
||||
DWORD dwAlphaCmpCaps;
|
||||
DWORD dwShadeCaps;
|
||||
DWORD dwTextureCaps;
|
||||
DWORD dwTextureFilterCaps;
|
||||
DWORD dwTextureBlendCaps;
|
||||
DWORD dwTextureAddressCaps;
|
||||
DWORD dwStippleWidth; /* maximum width and height of */
|
||||
DWORD dwStippleHeight; /* of supported stipple (up to 32x32) */
|
||||
} D3DPRIMCAPS, *LPD3DPRIMCAPS;
|
||||
|
||||
/* D3DPRIMCAPS dwMiscCaps */
|
||||
|
||||
#define D3DPMISCCAPS_MASKPLANES 0x00000001L
|
||||
#define D3DPMISCCAPS_MASKZ 0x00000002L
|
||||
#define D3DPMISCCAPS_LINEPATTERNREP 0x00000004L
|
||||
#define D3DPMISCCAPS_CONFORMANT 0x00000008L
|
||||
#define D3DPMISCCAPS_CULLNONE 0x00000010L
|
||||
#define D3DPMISCCAPS_CULLCW 0x00000020L
|
||||
#define D3DPMISCCAPS_CULLCCW 0x00000040L
|
||||
|
||||
/* D3DPRIMCAPS dwRasterCaps */
|
||||
|
||||
#define D3DPRASTERCAPS_DITHER 0x00000001L
|
||||
#define D3DPRASTERCAPS_ROP2 0x00000002L
|
||||
#define D3DPRASTERCAPS_XOR 0x00000004L
|
||||
#define D3DPRASTERCAPS_PAT 0x00000008L
|
||||
#define D3DPRASTERCAPS_ZTEST 0x00000010L
|
||||
#define D3DPRASTERCAPS_SUBPIXEL 0x00000020L
|
||||
#define D3DPRASTERCAPS_SUBPIXELX 0x00000040L
|
||||
#define D3DPRASTERCAPS_FOGVERTEX 0x00000080L
|
||||
#define D3DPRASTERCAPS_FOGTABLE 0x00000100L
|
||||
#define D3DPRASTERCAPS_STIPPLE 0x00000200L
|
||||
#if(DIRECT3D_VERSION >= 0x0500)
|
||||
#define D3DPRASTERCAPS_ANTIALIASSORTDEPENDENT 0x00000400L
|
||||
#define D3DPRASTERCAPS_ANTIALIASSORTINDEPENDENT 0x00000800L
|
||||
#define D3DPRASTERCAPS_ANTIALIASEDGES 0x00001000L
|
||||
#define D3DPRASTERCAPS_MIPMAPLODBIAS 0x00002000L
|
||||
#define D3DPRASTERCAPS_ZBIAS 0x00004000L
|
||||
#define D3DPRASTERCAPS_ZBUFFERLESSHSR 0x00008000L
|
||||
#define D3DPRASTERCAPS_FOGRANGE 0x00010000L
|
||||
#define D3DPRASTERCAPS_ANISOTROPY 0x00020000L
|
||||
#endif /* DIRECT3D_VERSION >= 0x0500 */
|
||||
#if(DIRECT3D_VERSION >= 0x0600)
|
||||
#define D3DPRASTERCAPS_WBUFFER 0x00040000L
|
||||
#define D3DPRASTERCAPS_TRANSLUCENTSORTINDEPENDENT 0x00080000L
|
||||
#define D3DPRASTERCAPS_WFOG 0x00100000L
|
||||
#define D3DPRASTERCAPS_ZFOG 0x00200000L
|
||||
#endif /* DIRECT3D_VERSION >= 0x0600 */
|
||||
|
||||
/* D3DPRIMCAPS dwZCmpCaps, dwAlphaCmpCaps */
|
||||
|
||||
#define D3DPCMPCAPS_NEVER 0x00000001L
|
||||
#define D3DPCMPCAPS_LESS 0x00000002L
|
||||
#define D3DPCMPCAPS_EQUAL 0x00000004L
|
||||
#define D3DPCMPCAPS_LESSEQUAL 0x00000008L
|
||||
#define D3DPCMPCAPS_GREATER 0x00000010L
|
||||
#define D3DPCMPCAPS_NOTEQUAL 0x00000020L
|
||||
#define D3DPCMPCAPS_GREATEREQUAL 0x00000040L
|
||||
#define D3DPCMPCAPS_ALWAYS 0x00000080L
|
||||
|
||||
/* D3DPRIMCAPS dwSourceBlendCaps, dwDestBlendCaps */
|
||||
|
||||
#define D3DPBLENDCAPS_ZERO 0x00000001L
|
||||
#define D3DPBLENDCAPS_ONE 0x00000002L
|
||||
#define D3DPBLENDCAPS_SRCCOLOR 0x00000004L
|
||||
#define D3DPBLENDCAPS_INVSRCCOLOR 0x00000008L
|
||||
#define D3DPBLENDCAPS_SRCALPHA 0x00000010L
|
||||
#define D3DPBLENDCAPS_INVSRCALPHA 0x00000020L
|
||||
#define D3DPBLENDCAPS_DESTALPHA 0x00000040L
|
||||
#define D3DPBLENDCAPS_INVDESTALPHA 0x00000080L
|
||||
#define D3DPBLENDCAPS_DESTCOLOR 0x00000100L
|
||||
#define D3DPBLENDCAPS_INVDESTCOLOR 0x00000200L
|
||||
#define D3DPBLENDCAPS_SRCALPHASAT 0x00000400L
|
||||
#define D3DPBLENDCAPS_BOTHSRCALPHA 0x00000800L
|
||||
#define D3DPBLENDCAPS_BOTHINVSRCALPHA 0x00001000L
|
||||
|
||||
/* D3DPRIMCAPS dwShadeCaps */
|
||||
|
||||
#define D3DPSHADECAPS_COLORFLATMONO 0x00000001L
|
||||
#define D3DPSHADECAPS_COLORFLATRGB 0x00000002L
|
||||
#define D3DPSHADECAPS_COLORGOURAUDMONO 0x00000004L
|
||||
#define D3DPSHADECAPS_COLORGOURAUDRGB 0x00000008L
|
||||
#define D3DPSHADECAPS_COLORPHONGMONO 0x00000010L
|
||||
#define D3DPSHADECAPS_COLORPHONGRGB 0x00000020L
|
||||
|
||||
#define D3DPSHADECAPS_SPECULARFLATMONO 0x00000040L
|
||||
#define D3DPSHADECAPS_SPECULARFLATRGB 0x00000080L
|
||||
#define D3DPSHADECAPS_SPECULARGOURAUDMONO 0x00000100L
|
||||
#define D3DPSHADECAPS_SPECULARGOURAUDRGB 0x00000200L
|
||||
#define D3DPSHADECAPS_SPECULARPHONGMONO 0x00000400L
|
||||
#define D3DPSHADECAPS_SPECULARPHONGRGB 0x00000800L
|
||||
|
||||
#define D3DPSHADECAPS_ALPHAFLATBLEND 0x00001000L
|
||||
#define D3DPSHADECAPS_ALPHAFLATSTIPPLED 0x00002000L
|
||||
#define D3DPSHADECAPS_ALPHAGOURAUDBLEND 0x00004000L
|
||||
#define D3DPSHADECAPS_ALPHAGOURAUDSTIPPLED 0x00008000L
|
||||
#define D3DPSHADECAPS_ALPHAPHONGBLEND 0x00010000L
|
||||
#define D3DPSHADECAPS_ALPHAPHONGSTIPPLED 0x00020000L
|
||||
|
||||
#define D3DPSHADECAPS_FOGFLAT 0x00040000L
|
||||
#define D3DPSHADECAPS_FOGGOURAUD 0x00080000L
|
||||
#define D3DPSHADECAPS_FOGPHONG 0x00100000L
|
||||
|
||||
/* D3DPRIMCAPS dwTextureCaps */
|
||||
|
||||
/*
|
||||
* Perspective-correct texturing is supported
|
||||
*/
|
||||
#define D3DPTEXTURECAPS_PERSPECTIVE 0x00000001L
|
||||
|
||||
/*
|
||||
* Power-of-2 texture dimensions are required
|
||||
*/
|
||||
#define D3DPTEXTURECAPS_POW2 0x00000002L
|
||||
|
||||
/*
|
||||
* Alpha in texture pixels is supported
|
||||
*/
|
||||
#define D3DPTEXTURECAPS_ALPHA 0x00000004L
|
||||
|
||||
/*
|
||||
* Color-keyed textures are supported
|
||||
*/
|
||||
#define D3DPTEXTURECAPS_TRANSPARENCY 0x00000008L
|
||||
|
||||
/*
|
||||
* obsolete, see D3DPTADDRESSCAPS_BORDER
|
||||
*/
|
||||
#define D3DPTEXTURECAPS_BORDER 0x00000010L
|
||||
|
||||
/*
|
||||
* Only square textures are supported
|
||||
*/
|
||||
#define D3DPTEXTURECAPS_SQUAREONLY 0x00000020L
|
||||
|
||||
#if(DIRECT3D_VERSION >= 0x0600)
|
||||
/*
|
||||
* Texture indices are not scaled by the texture size prior
|
||||
* to interpolation.
|
||||
*/
|
||||
#define D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE 0x00000040L
|
||||
|
||||
/*
|
||||
* Device can draw alpha from texture palettes
|
||||
*/
|
||||
#define D3DPTEXTURECAPS_ALPHAPALETTE 0x00000080L
|
||||
|
||||
/*
|
||||
* Device can use non-POW2 textures if:
|
||||
* 1) D3DTEXTURE_ADDRESS is set to CLAMP for this texture's stage
|
||||
* 2) D3DRS_WRAP(N) is zero for this texture's coordinates
|
||||
* 3) mip mapping is not enabled (use magnification filter only)
|
||||
*/
|
||||
#define D3DPTEXTURECAPS_NONPOW2CONDITIONAL 0x00000100L
|
||||
|
||||
#endif /* DIRECT3D_VERSION >= 0x0600 */
|
||||
#if(DIRECT3D_VERSION >= 0x0700)
|
||||
|
||||
// 0x00000200L unused
|
||||
|
||||
/*
|
||||
* Device can divide transformed texture coordinates by the
|
||||
* COUNTth texture coordinate (can do D3DTTFF_PROJECTED)
|
||||
*/
|
||||
#define D3DPTEXTURECAPS_PROJECTED 0x00000400L
|
||||
|
||||
/*
|
||||
* Device can do cubemap textures
|
||||
*/
|
||||
#define D3DPTEXTURECAPS_CUBEMAP 0x00000800L
|
||||
|
||||
#define D3DPTEXTURECAPS_COLORKEYBLEND 0x00001000L
|
||||
#endif /* DIRECT3D_VERSION >= 0x0700 */
|
||||
|
||||
/* D3DPRIMCAPS dwTextureFilterCaps */
|
||||
|
||||
#define D3DPTFILTERCAPS_NEAREST 0x00000001L
|
||||
#define D3DPTFILTERCAPS_LINEAR 0x00000002L
|
||||
#define D3DPTFILTERCAPS_MIPNEAREST 0x00000004L
|
||||
#define D3DPTFILTERCAPS_MIPLINEAR 0x00000008L
|
||||
#define D3DPTFILTERCAPS_LINEARMIPNEAREST 0x00000010L
|
||||
#define D3DPTFILTERCAPS_LINEARMIPLINEAR 0x00000020L
|
||||
|
||||
#if(DIRECT3D_VERSION >= 0x0600)
|
||||
/* Device3 Min Filter */
|
||||
#define D3DPTFILTERCAPS_MINFPOINT 0x00000100L
|
||||
#define D3DPTFILTERCAPS_MINFLINEAR 0x00000200L
|
||||
#define D3DPTFILTERCAPS_MINFANISOTROPIC 0x00000400L
|
||||
|
||||
/* Device3 Mip Filter */
|
||||
#define D3DPTFILTERCAPS_MIPFPOINT 0x00010000L
|
||||
#define D3DPTFILTERCAPS_MIPFLINEAR 0x00020000L
|
||||
|
||||
/* Device3 Mag Filter */
|
||||
#define D3DPTFILTERCAPS_MAGFPOINT 0x01000000L
|
||||
#define D3DPTFILTERCAPS_MAGFLINEAR 0x02000000L
|
||||
#define D3DPTFILTERCAPS_MAGFANISOTROPIC 0x04000000L
|
||||
#define D3DPTFILTERCAPS_MAGFAFLATCUBIC 0x08000000L
|
||||
#define D3DPTFILTERCAPS_MAGFGAUSSIANCUBIC 0x10000000L
|
||||
#endif /* DIRECT3D_VERSION >= 0x0600 */
|
||||
|
||||
/* D3DPRIMCAPS dwTextureBlendCaps */
|
||||
|
||||
#define D3DPTBLENDCAPS_DECAL 0x00000001L
|
||||
#define D3DPTBLENDCAPS_MODULATE 0x00000002L
|
||||
#define D3DPTBLENDCAPS_DECALALPHA 0x00000004L
|
||||
#define D3DPTBLENDCAPS_MODULATEALPHA 0x00000008L
|
||||
#define D3DPTBLENDCAPS_DECALMASK 0x00000010L
|
||||
#define D3DPTBLENDCAPS_MODULATEMASK 0x00000020L
|
||||
#define D3DPTBLENDCAPS_COPY 0x00000040L
|
||||
#if(DIRECT3D_VERSION >= 0x0500)
|
||||
#define D3DPTBLENDCAPS_ADD 0x00000080L
|
||||
#endif /* DIRECT3D_VERSION >= 0x0500 */
|
||||
|
||||
/* D3DPRIMCAPS dwTextureAddressCaps */
|
||||
#define D3DPTADDRESSCAPS_WRAP 0x00000001L
|
||||
#define D3DPTADDRESSCAPS_MIRROR 0x00000002L
|
||||
#define D3DPTADDRESSCAPS_CLAMP 0x00000004L
|
||||
#if(DIRECT3D_VERSION >= 0x0500)
|
||||
#define D3DPTADDRESSCAPS_BORDER 0x00000008L
|
||||
#define D3DPTADDRESSCAPS_INDEPENDENTUV 0x00000010L
|
||||
#endif /* DIRECT3D_VERSION >= 0x0500 */
|
||||
|
||||
#if(DIRECT3D_VERSION >= 0x0600)
|
||||
|
||||
/* D3DDEVICEDESC dwStencilCaps */
|
||||
|
||||
#define D3DSTENCILCAPS_KEEP 0x00000001L
|
||||
#define D3DSTENCILCAPS_ZERO 0x00000002L
|
||||
#define D3DSTENCILCAPS_REPLACE 0x00000004L
|
||||
#define D3DSTENCILCAPS_INCRSAT 0x00000008L
|
||||
#define D3DSTENCILCAPS_DECRSAT 0x00000010L
|
||||
#define D3DSTENCILCAPS_INVERT 0x00000020L
|
||||
#define D3DSTENCILCAPS_INCR 0x00000040L
|
||||
#define D3DSTENCILCAPS_DECR 0x00000080L
|
||||
|
||||
/* D3DDEVICEDESC dwTextureOpCaps */
|
||||
|
||||
#define D3DTEXOPCAPS_DISABLE 0x00000001L
|
||||
#define D3DTEXOPCAPS_SELECTARG1 0x00000002L
|
||||
#define D3DTEXOPCAPS_SELECTARG2 0x00000004L
|
||||
#define D3DTEXOPCAPS_MODULATE 0x00000008L
|
||||
#define D3DTEXOPCAPS_MODULATE2X 0x00000010L
|
||||
#define D3DTEXOPCAPS_MODULATE4X 0x00000020L
|
||||
#define D3DTEXOPCAPS_ADD 0x00000040L
|
||||
#define D3DTEXOPCAPS_ADDSIGNED 0x00000080L
|
||||
#define D3DTEXOPCAPS_ADDSIGNED2X 0x00000100L
|
||||
#define D3DTEXOPCAPS_SUBTRACT 0x00000200L
|
||||
#define D3DTEXOPCAPS_ADDSMOOTH 0x00000400L
|
||||
#define D3DTEXOPCAPS_BLENDDIFFUSEALPHA 0x00000800L
|
||||
#define D3DTEXOPCAPS_BLENDTEXTUREALPHA 0x00001000L
|
||||
#define D3DTEXOPCAPS_BLENDFACTORALPHA 0x00002000L
|
||||
#define D3DTEXOPCAPS_BLENDTEXTUREALPHAPM 0x00004000L
|
||||
#define D3DTEXOPCAPS_BLENDCURRENTALPHA 0x00008000L
|
||||
#define D3DTEXOPCAPS_PREMODULATE 0x00010000L
|
||||
#define D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR 0x00020000L
|
||||
#define D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA 0x00040000L
|
||||
#define D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR 0x00080000L
|
||||
#define D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA 0x00100000L
|
||||
#define D3DTEXOPCAPS_BUMPENVMAP 0x00200000L
|
||||
#define D3DTEXOPCAPS_BUMPENVMAPLUMINANCE 0x00400000L
|
||||
#define D3DTEXOPCAPS_DOTPRODUCT3 0x00800000L
|
||||
|
||||
/* D3DDEVICEDESC dwFVFCaps flags */
|
||||
|
||||
#define D3DFVFCAPS_TEXCOORDCOUNTMASK 0x0000ffffL /* mask for texture coordinate count field */
|
||||
#define D3DFVFCAPS_DONOTSTRIPELEMENTS 0x00080000L /* Device prefers that vertex elements not be stripped */
|
||||
|
||||
#endif /* DIRECT3D_VERSION >= 0x0600 */
|
||||
|
||||
/*
|
||||
* Description for a device.
|
||||
* This is used to describe a device that is to be created or to query
|
||||
* the current device.
|
||||
*/
|
||||
typedef struct _D3DDeviceDesc {
|
||||
DWORD dwSize; /* Size of D3DDEVICEDESC structure */
|
||||
DWORD dwFlags; /* Indicates which fields have valid data */
|
||||
D3DCOLORMODEL dcmColorModel; /* Color model of device */
|
||||
DWORD dwDevCaps; /* Capabilities of device */
|
||||
D3DTRANSFORMCAPS dtcTransformCaps; /* Capabilities of transform */
|
||||
BOOL bClipping; /* Device can do 3D clipping */
|
||||
D3DLIGHTINGCAPS dlcLightingCaps; /* Capabilities of lighting */
|
||||
D3DPRIMCAPS dpcLineCaps;
|
||||
D3DPRIMCAPS dpcTriCaps;
|
||||
DWORD dwDeviceRenderBitDepth; /* One of DDBB_8, 16, etc.. */
|
||||
DWORD dwDeviceZBufferBitDepth;/* One of DDBD_16, 32, etc.. */
|
||||
DWORD dwMaxBufferSize; /* Maximum execute buffer size */
|
||||
DWORD dwMaxVertexCount; /* Maximum vertex count */
|
||||
#if(DIRECT3D_VERSION >= 0x0500)
|
||||
// *** New fields for DX5 *** //
|
||||
|
||||
// Width and height caps are 0 for legacy HALs.
|
||||
DWORD dwMinTextureWidth, dwMinTextureHeight;
|
||||
DWORD dwMaxTextureWidth, dwMaxTextureHeight;
|
||||
DWORD dwMinStippleWidth, dwMaxStippleWidth;
|
||||
DWORD dwMinStippleHeight, dwMaxStippleHeight;
|
||||
#endif /* DIRECT3D_VERSION >= 0x0500 */
|
||||
|
||||
#if(DIRECT3D_VERSION >= 0x0600)
|
||||
// New fields for DX6
|
||||
DWORD dwMaxTextureRepeat;
|
||||
DWORD dwMaxTextureAspectRatio;
|
||||
DWORD dwMaxAnisotropy;
|
||||
|
||||
// Guard band that the rasterizer can accommodate
|
||||
// Screen-space vertices inside this space but outside the viewport
|
||||
// will get clipped properly.
|
||||
D3DVALUE dvGuardBandLeft;
|
||||
D3DVALUE dvGuardBandTop;
|
||||
D3DVALUE dvGuardBandRight;
|
||||
D3DVALUE dvGuardBandBottom;
|
||||
|
||||
D3DVALUE dvExtentsAdjust;
|
||||
DWORD dwStencilCaps;
|
||||
|
||||
DWORD dwFVFCaps;
|
||||
DWORD dwTextureOpCaps;
|
||||
WORD wMaxTextureBlendStages;
|
||||
WORD wMaxSimultaneousTextures;
|
||||
#endif /* DIRECT3D_VERSION >= 0x0600 */
|
||||
} D3DDEVICEDESC, *LPD3DDEVICEDESC;
|
||||
|
||||
#if(DIRECT3D_VERSION >= 0x0700)
|
||||
typedef struct _D3DDeviceDesc7 {
|
||||
DWORD dwDevCaps; /* Capabilities of device */
|
||||
D3DPRIMCAPS dpcLineCaps;
|
||||
D3DPRIMCAPS dpcTriCaps;
|
||||
DWORD dwDeviceRenderBitDepth; /* One of DDBB_8, 16, etc.. */
|
||||
DWORD dwDeviceZBufferBitDepth;/* One of DDBD_16, 32, etc.. */
|
||||
|
||||
DWORD dwMinTextureWidth, dwMinTextureHeight;
|
||||
DWORD dwMaxTextureWidth, dwMaxTextureHeight;
|
||||
|
||||
DWORD dwMaxTextureRepeat;
|
||||
DWORD dwMaxTextureAspectRatio;
|
||||
DWORD dwMaxAnisotropy;
|
||||
|
||||
D3DVALUE dvGuardBandLeft;
|
||||
D3DVALUE dvGuardBandTop;
|
||||
D3DVALUE dvGuardBandRight;
|
||||
D3DVALUE dvGuardBandBottom;
|
||||
|
||||
D3DVALUE dvExtentsAdjust;
|
||||
DWORD dwStencilCaps;
|
||||
|
||||
DWORD dwFVFCaps;
|
||||
DWORD dwTextureOpCaps;
|
||||
WORD wMaxTextureBlendStages;
|
||||
WORD wMaxSimultaneousTextures;
|
||||
|
||||
DWORD dwMaxActiveLights;
|
||||
D3DVALUE dvMaxVertexW;
|
||||
GUID deviceGUID;
|
||||
|
||||
WORD wMaxUserClipPlanes;
|
||||
WORD wMaxVertexBlendMatrices;
|
||||
|
||||
DWORD dwVertexProcessingCaps;
|
||||
|
||||
DWORD dwReserved1;
|
||||
DWORD dwReserved2;
|
||||
DWORD dwReserved3;
|
||||
DWORD dwReserved4;
|
||||
} D3DDEVICEDESC7, *LPD3DDEVICEDESC7;
|
||||
#endif /* DIRECT3D_VERSION >= 0x0700 */
|
||||
|
||||
#define D3DDEVICEDESCSIZE (sizeof(D3DDEVICEDESC))
|
||||
#define D3DDEVICEDESC7SIZE (sizeof(D3DDEVICEDESC7))
|
||||
|
||||
typedef HRESULT (CALLBACK * LPD3DENUMDEVICESCALLBACK)(GUID FAR *lpGuid, LPSTR lpDeviceDescription, LPSTR lpDeviceName, LPD3DDEVICEDESC, LPD3DDEVICEDESC, LPVOID);
|
||||
|
||||
#if(DIRECT3D_VERSION >= 0x0700)
|
||||
typedef HRESULT (CALLBACK * LPD3DENUMDEVICESCALLBACK7)(LPSTR lpDeviceDescription, LPSTR lpDeviceName, LPD3DDEVICEDESC7, LPVOID);
|
||||
#endif /* DIRECT3D_VERSION >= 0x0700 */
|
||||
|
||||
/* D3DDEVICEDESC dwFlags indicating valid fields */
|
||||
|
||||
#define D3DDD_COLORMODEL 0x00000001L /* dcmColorModel is valid */
|
||||
#define D3DDD_DEVCAPS 0x00000002L /* dwDevCaps is valid */
|
||||
#define D3DDD_TRANSFORMCAPS 0x00000004L /* dtcTransformCaps is valid */
|
||||
#define D3DDD_LIGHTINGCAPS 0x00000008L /* dlcLightingCaps is valid */
|
||||
#define D3DDD_BCLIPPING 0x00000010L /* bClipping is valid */
|
||||
#define D3DDD_LINECAPS 0x00000020L /* dpcLineCaps is valid */
|
||||
#define D3DDD_TRICAPS 0x00000040L /* dpcTriCaps is valid */
|
||||
#define D3DDD_DEVICERENDERBITDEPTH 0x00000080L /* dwDeviceRenderBitDepth is valid */
|
||||
#define D3DDD_DEVICEZBUFFERBITDEPTH 0x00000100L /* dwDeviceZBufferBitDepth is valid */
|
||||
#define D3DDD_MAXBUFFERSIZE 0x00000200L /* dwMaxBufferSize is valid */
|
||||
#define D3DDD_MAXVERTEXCOUNT 0x00000400L /* dwMaxVertexCount is valid */
|
||||
|
||||
/* D3DDEVICEDESC dwDevCaps flags */
|
||||
|
||||
#define D3DDEVCAPS_FLOATTLVERTEX 0x00000001L /* Device accepts floating point */
|
||||
/* for post-transform vertex data */
|
||||
#define D3DDEVCAPS_SORTINCREASINGZ 0x00000002L /* Device needs data sorted for increasing Z */
|
||||
#define D3DDEVCAPS_SORTDECREASINGZ 0X00000004L /* Device needs data sorted for decreasing Z */
|
||||
#define D3DDEVCAPS_SORTEXACT 0x00000008L /* Device needs data sorted exactly */
|
||||
|
||||
#define D3DDEVCAPS_EXECUTESYSTEMMEMORY 0x00000010L /* Device can use execute buffers from system memory */
|
||||
#define D3DDEVCAPS_EXECUTEVIDEOMEMORY 0x00000020L /* Device can use execute buffers from video memory */
|
||||
#define D3DDEVCAPS_TLVERTEXSYSTEMMEMORY 0x00000040L /* Device can use TL buffers from system memory */
|
||||
#define D3DDEVCAPS_TLVERTEXVIDEOMEMORY 0x00000080L /* Device can use TL buffers from video memory */
|
||||
#define D3DDEVCAPS_TEXTURESYSTEMMEMORY 0x00000100L /* Device can texture from system memory */
|
||||
#define D3DDEVCAPS_TEXTUREVIDEOMEMORY 0x00000200L /* Device can texture from device memory */
|
||||
#if(DIRECT3D_VERSION >= 0x0500)
|
||||
#define D3DDEVCAPS_DRAWPRIMTLVERTEX 0x00000400L /* Device can draw TLVERTEX primitives */
|
||||
#define D3DDEVCAPS_CANRENDERAFTERFLIP 0x00000800L /* Device can render without waiting for flip to complete */
|
||||
#define D3DDEVCAPS_TEXTURENONLOCALVIDMEM 0x00001000L /* Device can texture from nonlocal video memory */
|
||||
#endif /* DIRECT3D_VERSION >= 0x0500 */
|
||||
#if(DIRECT3D_VERSION >= 0x0600)
|
||||
#define D3DDEVCAPS_DRAWPRIMITIVES2 0x00002000L /* Device can support DrawPrimitives2 */
|
||||
#define D3DDEVCAPS_SEPARATETEXTUREMEMORIES 0x00004000L /* Device is texturing from separate memory pools */
|
||||
#define D3DDEVCAPS_DRAWPRIMITIVES2EX 0x00008000L /* Device can support Extended DrawPrimitives2 i.e. DX7 compliant driver*/
|
||||
#endif /* DIRECT3D_VERSION >= 0x0600 */
|
||||
#if(DIRECT3D_VERSION >= 0x0700)
|
||||
#define D3DDEVCAPS_HWTRANSFORMANDLIGHT 0x00010000L /* Device can support transformation and lighting in hardware and DRAWPRIMITIVES2EX must be also */
|
||||
#define D3DDEVCAPS_CANBLTSYSTONONLOCAL 0x00020000L /* Device supports a Tex Blt from system memory to non-local vidmem */
|
||||
#define D3DDEVCAPS_HWRASTERIZATION 0x00080000L /* Device has HW acceleration for rasterization */
|
||||
|
||||
/*
|
||||
* These are the flags in the D3DDEVICEDESC7.dwVertexProcessingCaps field
|
||||
*/
|
||||
|
||||
/* device can do texgen */
|
||||
#define D3DVTXPCAPS_TEXGEN 0x00000001L
|
||||
/* device can do IDirect3DDevice7 colormaterialsource ops */
|
||||
#define D3DVTXPCAPS_MATERIALSOURCE7 0x00000002L
|
||||
/* device can do vertex fog */
|
||||
#define D3DVTXPCAPS_VERTEXFOG 0x00000004L
|
||||
/* device can do directional lights */
|
||||
#define D3DVTXPCAPS_DIRECTIONALLIGHTS 0x00000008L
|
||||
/* device can do positional lights (includes point and spot) */
|
||||
#define D3DVTXPCAPS_POSITIONALLIGHTS 0x00000010L
|
||||
/* device can do local viewer */
|
||||
#define D3DVTXPCAPS_LOCALVIEWER 0x00000020L
|
||||
|
||||
#endif /* DIRECT3D_VERSION >= 0x0700 */
|
||||
|
||||
#define D3DFDS_COLORMODEL 0x00000001L /* Match color model */
|
||||
#define D3DFDS_GUID 0x00000002L /* Match guid */
|
||||
#define D3DFDS_HARDWARE 0x00000004L /* Match hardware/software */
|
||||
#define D3DFDS_TRIANGLES 0x00000008L /* Match in triCaps */
|
||||
#define D3DFDS_LINES 0x00000010L /* Match in lineCaps */
|
||||
#define D3DFDS_MISCCAPS 0x00000020L /* Match primCaps.dwMiscCaps */
|
||||
#define D3DFDS_RASTERCAPS 0x00000040L /* Match primCaps.dwRasterCaps */
|
||||
#define D3DFDS_ZCMPCAPS 0x00000080L /* Match primCaps.dwZCmpCaps */
|
||||
#define D3DFDS_ALPHACMPCAPS 0x00000100L /* Match primCaps.dwAlphaCmpCaps */
|
||||
#define D3DFDS_SRCBLENDCAPS 0x00000200L /* Match primCaps.dwSourceBlendCaps */
|
||||
#define D3DFDS_DSTBLENDCAPS 0x00000400L /* Match primCaps.dwDestBlendCaps */
|
||||
#define D3DFDS_SHADECAPS 0x00000800L /* Match primCaps.dwShadeCaps */
|
||||
#define D3DFDS_TEXTURECAPS 0x00001000L /* Match primCaps.dwTextureCaps */
|
||||
#define D3DFDS_TEXTUREFILTERCAPS 0x00002000L /* Match primCaps.dwTextureFilterCaps */
|
||||
#define D3DFDS_TEXTUREBLENDCAPS 0x00004000L /* Match primCaps.dwTextureBlendCaps */
|
||||
#define D3DFDS_TEXTUREADDRESSCAPS 0x00008000L /* Match primCaps.dwTextureBlendCaps */
|
||||
|
||||
/*
|
||||
* FindDevice arguments
|
||||
*/
|
||||
typedef struct _D3DFINDDEVICESEARCH {
|
||||
DWORD dwSize;
|
||||
DWORD dwFlags;
|
||||
BOOL bHardware;
|
||||
D3DCOLORMODEL dcmColorModel;
|
||||
GUID guid;
|
||||
DWORD dwCaps;
|
||||
D3DPRIMCAPS dpcPrimCaps;
|
||||
} D3DFINDDEVICESEARCH, *LPD3DFINDDEVICESEARCH;
|
||||
|
||||
typedef struct _D3DFINDDEVICERESULT {
|
||||
DWORD dwSize;
|
||||
GUID guid; /* guid which matched */
|
||||
D3DDEVICEDESC ddHwDesc; /* hardware D3DDEVICEDESC */
|
||||
D3DDEVICEDESC ddSwDesc; /* software D3DDEVICEDESC */
|
||||
} D3DFINDDEVICERESULT, *LPD3DFINDDEVICERESULT;
|
||||
|
||||
/*
|
||||
* Description of execute buffer.
|
||||
*/
|
||||
typedef struct _D3DExecuteBufferDesc {
|
||||
DWORD dwSize; /* size of this structure */
|
||||
DWORD dwFlags; /* flags indicating which fields are valid */
|
||||
DWORD dwCaps; /* capabilities of execute buffer */
|
||||
DWORD dwBufferSize; /* size of execute buffer data */
|
||||
LPVOID lpData; /* pointer to actual data */
|
||||
} D3DEXECUTEBUFFERDESC, *LPD3DEXECUTEBUFFERDESC;
|
||||
|
||||
/* D3DEXECUTEBUFFER dwFlags indicating valid fields */
|
||||
|
||||
#define D3DDEB_BUFSIZE 0x00000001l /* buffer size valid */
|
||||
#define D3DDEB_CAPS 0x00000002l /* caps valid */
|
||||
#define D3DDEB_LPDATA 0x00000004l /* lpData valid */
|
||||
|
||||
/* D3DEXECUTEBUFFER dwCaps */
|
||||
|
||||
#define D3DDEBCAPS_SYSTEMMEMORY 0x00000001l /* buffer in system memory */
|
||||
#define D3DDEBCAPS_VIDEOMEMORY 0x00000002l /* buffer in device memory */
|
||||
#define D3DDEBCAPS_MEM (D3DDEBCAPS_SYSTEMMEMORY|D3DDEBCAPS_VIDEOMEMORY)
|
||||
|
||||
#if(DIRECT3D_VERSION >= 0x0700)
|
||||
typedef struct _D3DDEVINFO_TEXTUREMANAGER {
|
||||
BOOL bThrashing; /* indicates if thrashing */
|
||||
DWORD dwApproxBytesDownloaded; /* Approximate number of bytes downloaded by texture manager */
|
||||
DWORD dwNumEvicts; /* number of textures evicted */
|
||||
DWORD dwNumVidCreates; /* number of textures created in video memory */
|
||||
DWORD dwNumTexturesUsed; /* number of textures used */
|
||||
DWORD dwNumUsedTexInVid; /* number of used textures present in video memory */
|
||||
DWORD dwWorkingSet; /* number of textures in video memory */
|
||||
DWORD dwWorkingSetBytes; /* number of bytes in video memory */
|
||||
DWORD dwTotalManaged; /* total number of managed textures */
|
||||
DWORD dwTotalBytes; /* total number of bytes of managed textures */
|
||||
DWORD dwLastPri; /* priority of last texture evicted */
|
||||
} D3DDEVINFO_TEXTUREMANAGER, *LPD3DDEVINFO_TEXTUREMANAGER;
|
||||
|
||||
typedef struct _D3DDEVINFO_TEXTURING {
|
||||
DWORD dwNumLoads; /* counts Load() API calls */
|
||||
DWORD dwApproxBytesLoaded; /* Approximate number bytes loaded via Load() */
|
||||
DWORD dwNumPreLoads; /* counts PreLoad() API calls */
|
||||
DWORD dwNumSet; /* counts SetTexture() API calls */
|
||||
DWORD dwNumCreates; /* counts texture creates */
|
||||
DWORD dwNumDestroys; /* counts texture destroys */
|
||||
DWORD dwNumSetPriorities; /* counts SetPriority() API calls */
|
||||
DWORD dwNumSetLODs; /* counts SetLOD() API calls */
|
||||
DWORD dwNumLocks; /* counts number of texture locks */
|
||||
DWORD dwNumGetDCs; /* counts number of GetDCs to textures */
|
||||
} D3DDEVINFO_TEXTURING, *LPD3DDEVINFO_TEXTURING;
|
||||
#endif /* DIRECT3D_VERSION >= 0x0700 */
|
||||
|
||||
#pragma pack()
|
||||
|
||||
#endif /* _D3DCAPS_H_ */
|
||||
|
1820
engine/libs/dxsdk7/include/d3dtypes.h
Normal file
1820
engine/libs/dxsdk7/include/d3dtypes.h
Normal file
File diff suppressed because it is too large
Load diff
26
engine/libs/dxsdk7/include/d3dx.h
Normal file
26
engine/libs/dxsdk7/include/d3dx.h
Normal file
|
@ -0,0 +1,26 @@
|
|||
///////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
|
||||
//
|
||||
// File: d3dx.h
|
||||
// Content: D3DX utility library
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef __D3DX_H__
|
||||
#define __D3DX_H__
|
||||
|
||||
#ifndef D3DXINLINE
|
||||
#ifdef __cplusplus
|
||||
#define D3DXINLINE inline
|
||||
#else
|
||||
#define D3DXINLINE _inline
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include "d3dxcore.h"
|
||||
#include "d3dxmath.h"
|
||||
#include "d3dxshapes.h"
|
||||
#include "d3dxsprite.h"
|
||||
|
||||
#endif //__D3DX_H__
|
1027
engine/libs/dxsdk7/include/d3dxcore.h
Normal file
1027
engine/libs/dxsdk7/include/d3dxcore.h
Normal file
File diff suppressed because it is too large
Load diff
407
engine/libs/dxsdk7/include/d3dxerr.h
Normal file
407
engine/libs/dxsdk7/include/d3dxerr.h
Normal file
|
@ -0,0 +1,407 @@
|
|||
//----------------------------------------------------------------------
|
||||
//
|
||||
// d3dxerr.h -- 0xC code definitions for the D3DX API
|
||||
//
|
||||
// Copyright (c) 1991-1999, Microsoft Corp. All rights reserved.
|
||||
//
|
||||
//----------------------------------------------------------------------
|
||||
#ifndef __D3DXERR_H__
|
||||
#define __D3DXERR_H__
|
||||
|
||||
//
|
||||
//
|
||||
// Values are 32 bit values layed out as follows:
|
||||
//
|
||||
// 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
|
||||
// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
|
||||
// +---+-+-+-----------------------+-------------------------------+
|
||||
// |Sev|C|R| Facility | Code |
|
||||
// +---+-+-+-----------------------+-------------------------------+
|
||||
//
|
||||
// where
|
||||
//
|
||||
// Sev - is the severity code
|
||||
//
|
||||
// 00 - Success
|
||||
// 01 - Informational
|
||||
// 10 - Warning
|
||||
// 11 - Error
|
||||
//
|
||||
// C - is the Customer code flag
|
||||
//
|
||||
// R - is a reserved bit
|
||||
//
|
||||
// Facility - is the facility code
|
||||
//
|
||||
// Code - is the facility's status code
|
||||
//
|
||||
//
|
||||
// Define the facility codes
|
||||
//
|
||||
#define FACILITY_D3DX 0x877
|
||||
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_NOMEMORY
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// Out of memory.
|
||||
//
|
||||
#define D3DXERR_NOMEMORY ((HRESULT)0xC8770BB8L)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_NULLPOINTER
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// A NULL pointer was passed as a parameter.
|
||||
//
|
||||
#define D3DXERR_NULLPOINTER ((HRESULT)0xC8770BB9L)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_INVALIDD3DXDEVICEINDEX
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// The Device Index passed in is invalid.
|
||||
//
|
||||
#define D3DXERR_INVALIDD3DXDEVICEINDEX ((HRESULT)0xC8770BBAL)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_NODIRECTDRAWAVAILABLE
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// DirectDraw has not been created.
|
||||
//
|
||||
#define D3DXERR_NODIRECTDRAWAVAILABLE ((HRESULT)0xC8770BBBL)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_NODIRECT3DAVAILABLE
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// Direct3D has not been created.
|
||||
//
|
||||
#define D3DXERR_NODIRECT3DAVAILABLE ((HRESULT)0xC8770BBCL)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_NODIRECT3DDEVICEAVAILABLE
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// Direct3D device has not been created.
|
||||
//
|
||||
#define D3DXERR_NODIRECT3DDEVICEAVAILABLE ((HRESULT)0xC8770BBDL)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_NOPRIMARYAVAILABLE
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// Primary surface has not been created.
|
||||
//
|
||||
#define D3DXERR_NOPRIMARYAVAILABLE ((HRESULT)0xC8770BBEL)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_NOZBUFFERAVAILABLE
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// Z buffer has not been created.
|
||||
//
|
||||
#define D3DXERR_NOZBUFFERAVAILABLE ((HRESULT)0xC8770BBFL)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_NOBACKBUFFERAVAILABLE
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// Backbuffer has not been created.
|
||||
//
|
||||
#define D3DXERR_NOBACKBUFFERAVAILABLE ((HRESULT)0xC8770BC0L)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_COULDNTUPDATECAPS
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// Failed to update caps database after changing display mode.
|
||||
//
|
||||
#define D3DXERR_COULDNTUPDATECAPS ((HRESULT)0xC8770BC1L)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_NOZBUFFER
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// Could not create Z buffer.
|
||||
//
|
||||
#define D3DXERR_NOZBUFFER ((HRESULT)0xC8770BC2L)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_INVALIDMODE
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// Display mode is not valid.
|
||||
//
|
||||
#define D3DXERR_INVALIDMODE ((HRESULT)0xC8770BC3L)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_INVALIDPARAMETER
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// One or more of the parameters passed is invalid.
|
||||
//
|
||||
#define D3DXERR_INVALIDPARAMETER ((HRESULT)0xC8770BC4L)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_INITFAILED
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// D3DX failed to initialize itself.
|
||||
//
|
||||
#define D3DXERR_INITFAILED ((HRESULT)0xC8770BC5L)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_STARTUPFAILED
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// D3DX failed to start up.
|
||||
//
|
||||
#define D3DXERR_STARTUPFAILED ((HRESULT)0xC8770BC6L)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_D3DXNOTSTARTEDYET
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// D3DXInitialize() must be called first.
|
||||
//
|
||||
#define D3DXERR_D3DXNOTSTARTEDYET ((HRESULT)0xC8770BC7L)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_NOTINITIALIZED
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// D3DX is not initialized yet.
|
||||
//
|
||||
#define D3DXERR_NOTINITIALIZED ((HRESULT)0xC8770BC8L)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_FAILEDDRAWTEXT
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// Failed to render text to the surface.
|
||||
//
|
||||
#define D3DXERR_FAILEDDRAWTEXT ((HRESULT)0xC8770BC9L)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_BADD3DXCONTEXT
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// Bad D3DX context.
|
||||
//
|
||||
#define D3DXERR_BADD3DXCONTEXT ((HRESULT)0xC8770BCAL)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_CAPSNOTSUPPORTED
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// The requested device capabilities are not supported.
|
||||
//
|
||||
#define D3DXERR_CAPSNOTSUPPORTED ((HRESULT)0xC8770BCBL)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_UNSUPPORTEDFILEFORMAT
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// The image file format is unrecognized.
|
||||
//
|
||||
#define D3DXERR_UNSUPPORTEDFILEFORMAT ((HRESULT)0xC8770BCCL)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_IFLERROR
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// The image file loading library error.
|
||||
//
|
||||
#define D3DXERR_IFLERROR ((HRESULT)0xC8770BCDL)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_FAILEDGETCAPS
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// Could not obtain device caps.
|
||||
//
|
||||
#define D3DXERR_FAILEDGETCAPS ((HRESULT)0xC8770BCEL)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_CANNOTRESIZEFULLSCREEN
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// Resize does not work for full-screen.
|
||||
//
|
||||
#define D3DXERR_CANNOTRESIZEFULLSCREEN ((HRESULT)0xC8770BCFL)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_CANNOTRESIZENONWINDOWED
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// Resize does not work for non-windowed contexts.
|
||||
//
|
||||
#define D3DXERR_CANNOTRESIZENONWINDOWED ((HRESULT)0xC8770BD0L)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_FRONTBUFFERALREADYEXISTS
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// Front buffer already exists.
|
||||
//
|
||||
#define D3DXERR_FRONTBUFFERALREADYEXISTS ((HRESULT)0xC8770BD1L)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_FULLSCREENPRIMARYEXISTS
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// The app is using the primary in full-screen mode.
|
||||
//
|
||||
#define D3DXERR_FULLSCREENPRIMARYEXISTS ((HRESULT)0xC8770BD2L)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_GETDCFAILED
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// Could not get device context.
|
||||
//
|
||||
#define D3DXERR_GETDCFAILED ((HRESULT)0xC8770BD3L)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_BITBLTFAILED
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// Could not bitBlt.
|
||||
//
|
||||
#define D3DXERR_BITBLTFAILED ((HRESULT)0xC8770BD4L)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_NOTEXTURE
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// There is no surface backing up this texture.
|
||||
//
|
||||
#define D3DXERR_NOTEXTURE ((HRESULT)0xC8770BD5L)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_MIPLEVELABSENT
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// There is no such miplevel for this surface.
|
||||
//
|
||||
#define D3DXERR_MIPLEVELABSENT ((HRESULT)0xC8770BD6L)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_SURFACENOTPALETTED
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// The surface is not paletted.
|
||||
//
|
||||
#define D3DXERR_SURFACENOTPALETTED ((HRESULT)0xC8770BD7L)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_ENUMFORMATSFAILED
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// An error occured while enumerating surface formats.
|
||||
//
|
||||
#define D3DXERR_ENUMFORMATSFAILED ((HRESULT)0xC8770BD8L)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_COLORDEPTHTOOLOW
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// D3DX only supports color depths of 16 bit or greater.
|
||||
//
|
||||
#define D3DXERR_COLORDEPTHTOOLOW ((HRESULT)0xC8770BD9L)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_INVALIDFILEFORMAT
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// The file format is invalid.
|
||||
//
|
||||
#define D3DXERR_INVALIDFILEFORMAT ((HRESULT)0xC8770BDAL)
|
||||
|
||||
|
||||
//
|
||||
// MessageId: D3DXERR_NOMATCHFOUND
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// No suitable match found.
|
||||
//
|
||||
#define D3DXERR_NOMATCHFOUND ((HRESULT)0xC8770BDBL)
|
||||
|
||||
|
||||
|
||||
#endif //__D3DXERR_H__
|
||||
|
1085
engine/libs/dxsdk7/include/d3dxmath.h
Normal file
1085
engine/libs/dxsdk7/include/d3dxmath.h
Normal file
File diff suppressed because it is too large
Load diff
1809
engine/libs/dxsdk7/include/d3dxmath.inl
Normal file
1809
engine/libs/dxsdk7/include/d3dxmath.inl
Normal file
File diff suppressed because it is too large
Load diff
209
engine/libs/dxsdk7/include/d3dxshapes.h
Normal file
209
engine/libs/dxsdk7/include/d3dxshapes.h
Normal file
|
@ -0,0 +1,209 @@
|
|||
///////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
|
||||
//
|
||||
// File: d3dxshapes.h
|
||||
// Content: D3DX simple shapes
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef __D3DXSHAPES_H__
|
||||
#define __D3DXSHAPES_H__
|
||||
|
||||
#include <d3d.h>
|
||||
#include <limits.h>
|
||||
#include "d3dxerr.h"
|
||||
|
||||
|
||||
typedef struct ID3DXSimpleShape *LPD3DXSIMPLESHAPE;
|
||||
|
||||
// {CFCD4602-EB7B-11d2-A440-00A0C90629A8}
|
||||
DEFINE_GUID( IID_ID3DXSimpleShape,
|
||||
0xcfcd4602, 0xeb7b, 0x11d2, 0xa4, 0x40, 0x0, 0xa0, 0xc9, 0x6, 0x29, 0xa8 );
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// Interfaces:
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// ID3DXSimpleShape interface:
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
DECLARE_INTERFACE_(ID3DXSimpleShape, IUnknown)
|
||||
{
|
||||
// IUnknown methods
|
||||
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID* ppvObj) PURE;
|
||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
|
||||
// ID3DXSimpleShape methods
|
||||
STDMETHOD_(LPDIRECT3DVERTEXBUFFER7, GetVB)(THIS) PURE;
|
||||
STDMETHOD_(DWORD, GetIndices)(THIS_ LPWORD *ppIndices) PURE;
|
||||
STDMETHOD(Draw)(THIS) PURE;
|
||||
};
|
||||
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// Functions:
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif //__cplusplus
|
||||
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// D3DXCreatePolygon: Creates an 'n' sided polygon using the device
|
||||
// ---------------- specified. It returns a vertex buffer that can be used
|
||||
// for drawing or manipulation by the program later on.
|
||||
//
|
||||
// Params:
|
||||
// [in] LPDIRECT3DDEVICE7 pDevice: The device to create off.
|
||||
// [in] float sideSize: Length of a side.
|
||||
// [in] DWORD numTexCoords: The number of texture coordinates desired
|
||||
// in the vertex-buffer. (Default is 1)
|
||||
// D3DX_DEFAULT is a valid input.
|
||||
// [out] IDirect3DVertexBuffer7** ppVB: The output shape interface.
|
||||
//-------------------------------------------------------------------------
|
||||
HRESULT WINAPI
|
||||
D3DXCreatePolygon(LPDIRECT3DDEVICE7 pDevice,
|
||||
float sideSize,
|
||||
DWORD numSides,
|
||||
DWORD numTexCoords,
|
||||
LPD3DXSIMPLESHAPE* ppShape );
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// D3DXCreateBox: Creates a box (cuboid) of given dimensions using the
|
||||
// ------------ device. It returns a vertex buffer that can
|
||||
// be used for drawing or manipulation by the program later on.
|
||||
//
|
||||
// Params:
|
||||
// [in] LPDIRECT3DDEVICE7 pDevice: The device to create off.
|
||||
// [in] float width: Width of the box (along x-axis)
|
||||
// [in] float height: Height of the box (along y-axis)
|
||||
// [in] float depth: Depth of the box (along z-axis)
|
||||
// [in] DWORD numTexCoords: The number of texture coordinates desired
|
||||
// in the vertex-buffer. Default is 1.
|
||||
// D3DX_DEFAULT is a valid input here.
|
||||
// [out] LPD3DXSIMPLESHAPE* ppShape: The output vertex-buffer.
|
||||
//-------------------------------------------------------------------------
|
||||
HRESULT WINAPI
|
||||
D3DXCreateBox(LPDIRECT3DDEVICE7 pDevice,
|
||||
float width,
|
||||
float height,
|
||||
float depth,
|
||||
DWORD numTexCoords,
|
||||
LPD3DXSIMPLESHAPE* ppShape );
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// D3DXCreateCylinder: Creates a cylinder of given dimensions using the
|
||||
// ----------------- device. It returns a vertex buffer that
|
||||
// can be used for drawing or manipulation by the program
|
||||
// later on.
|
||||
//
|
||||
// Params:
|
||||
// [in] LPDIRECT3DDEVICE7 pDevice: The device to create off.
|
||||
// [in] float baseRadius: Base-radius (default is 1.0f, shd be >= 0.0f)
|
||||
// [in] float topRadius: Top-radius (default is 1.0f, shd be >= 0.0f)
|
||||
// [in] float height: Height (default is 1.0f, shd be >= 0.0f)
|
||||
// [in] DWORD numSlices: Number of slices about the main axis.
|
||||
// (default is 8) D3DX_DEFAULT is a valid input.
|
||||
// [in] DWORD numStacks: Number of stacks along the main axis.
|
||||
// (default is 8) D3DX_DEFAULT is a valid input.
|
||||
// [in] DWORD numTexCoords: The number of texture coordinates desired
|
||||
// in the vertex-buffer. Default is 1.
|
||||
// D3DX_DEFAULT is a valid input here.
|
||||
// [out] LPD3DXSIMPLESHAPE* ppShape: The output shape interface.
|
||||
//-------------------------------------------------------------------------
|
||||
HRESULT WINAPI
|
||||
D3DXCreateCylinder(LPDIRECT3DDEVICE7 pDevice,
|
||||
float baseRadius,
|
||||
float topRadius,
|
||||
float height,
|
||||
DWORD numSlices,
|
||||
DWORD numStacks,
|
||||
DWORD numTexCoords,
|
||||
LPD3DXSIMPLESHAPE* ppShape );
|
||||
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// D3DXCreateTorus: Creates a torus of given dimensions using the
|
||||
// -------------- device specified. It returns a vertex buffer that can
|
||||
// be used for drawing or manipulation by the program later
|
||||
// on. It draws a doughnut, centered at (0, 0, 0) whose axis
|
||||
// is aligned with the z-axis. With the innerRadius used
|
||||
// as the radius of the cross-section (minor-Radius) and
|
||||
// the outerRadius used as the radius of the central 'hole'.
|
||||
//
|
||||
// Params:
|
||||
// [in] LPDIRECT3DDEVICE7 pDevice: The device to create off.
|
||||
// [in] float innerRadius: inner radius (default is 1.0f, shd be >= 0.0f)
|
||||
// [in] float outerRadius: outer radius (default is 2.0f, shd be >= 0.0f)
|
||||
// [in] DWORD numSides: Number of sides in the cross-section
|
||||
// (default is 8). D3DX_DEFAULT is a valid input.
|
||||
// [in] DWORD numRings: Number of rings making up the torus
|
||||
// (default is 8) D3DX_DEFAULT is a valid input.
|
||||
// [in] DWORD numTexCoords: The number of texture coordinates desired
|
||||
// in the vertex-buffer. Default is 1.
|
||||
// D3DX_DEFAULT is a valid input here.
|
||||
// [out] LPD3DXSIMPLESHAPE* ppShape: The output shape interface.
|
||||
//-------------------------------------------------------------------------
|
||||
HRESULT WINAPI
|
||||
D3DXCreateTorus(LPDIRECT3DDEVICE7 pDevice,
|
||||
float innerRadius,
|
||||
float outerRadius,
|
||||
DWORD numSides,
|
||||
DWORD numRings,
|
||||
DWORD numTexCoords,
|
||||
LPD3DXSIMPLESHAPE* ppShape );
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// D3DXCreateTeapot: Creates a teapot using the device specified.
|
||||
// ---------------- It returns a vertex buffer that can be used for
|
||||
// drawing or manipulation by the program later on.
|
||||
//
|
||||
// Params:
|
||||
// [in] LPDIRECT3DDEVICE7 pDevice: The device to create off.
|
||||
// [in] DWORD numTexCoords: The number of texture coordinates desired
|
||||
// in the vertex-buffer. Default is 1.
|
||||
// D3DX_DEFAULT is a valid input here.
|
||||
// [out] LPD3DXSIMPLESHAPE* ppShape: The output shape interface.
|
||||
//-------------------------------------------------------------------------
|
||||
HRESULT WINAPI
|
||||
D3DXCreateTeapot(LPDIRECT3DDEVICE7 pDevice,
|
||||
DWORD numTexCoords,
|
||||
LPD3DXSIMPLESHAPE* ppShape);
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// D3DXCreateSphere: Creates a cylinder of given dimensions using the
|
||||
// ---------------- device specified.
|
||||
// It returns a vertex buffer that can be used for
|
||||
// drawing or manipulation by the program later on.
|
||||
//
|
||||
// Params:
|
||||
// [in] LPDIRECT3DDEVICE7 pDevice: The device to create off.
|
||||
// [in] float radius: radius (default is 1.0f, shd be >= 0.0f)
|
||||
// [in] float height: Height (default is 1.0f, shd be >= 0.0f)
|
||||
// [in] DWORD numSlices: Number of slices about the main axis
|
||||
// (default is 8) D3DX_DEFAULT is a valid input.
|
||||
// [in] DWORD numStacks: Number of stacks along the main axis
|
||||
// (default is 8) D3DX_DEFAULT is a valid input.
|
||||
// [in] DWORD numTexCoords: The number of texture coordinates desired
|
||||
// in the vertex-buffer. Default is 1.
|
||||
// D3DX_DEFAULT is a valid input here.
|
||||
// [out] LPD3DXSIMPLESHAPE* ppShape: The output shape interface.
|
||||
//-------------------------------------------------------------------------
|
||||
HRESULT WINAPI
|
||||
D3DXCreateSphere(LPDIRECT3DDEVICE7 pDevice,
|
||||
float radius,
|
||||
DWORD numSlices,
|
||||
DWORD numStacks,
|
||||
DWORD numTexCoords,
|
||||
LPD3DXSIMPLESHAPE* ppShape);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif //__cplusplus
|
||||
#endif //__D3DXSHAPES_H__
|
321
engine/libs/dxsdk7/include/d3dxsprite.h
Normal file
321
engine/libs/dxsdk7/include/d3dxsprite.h
Normal file
|
@ -0,0 +1,321 @@
|
|||
///////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
|
||||
//
|
||||
// File: d3dxsprite.h
|
||||
// Content: D3DX sprite helper functions
|
||||
//
|
||||
// These functions allow you to use sprites with D3DX. A "sprite" is
|
||||
// loosely defined as a 2D image that you want to transfer to the
|
||||
// rendering target. The source image can be a texture created
|
||||
// with the help of the D3DX texture loader; though advanced users may
|
||||
// want to create their own. A helper function (PrepareDeviceForSprite)
|
||||
// is provided to make it easy to set up render states on a device.
|
||||
// (Again, advanced users can use their own created devices.)
|
||||
//
|
||||
// There are two general techniques for sprites; the simpler one just
|
||||
// specifies a destination rectangle and a rotation anlge. A more
|
||||
// powerful technique supports rendering to non-rectangular quads.
|
||||
//
|
||||
// Both techniques support clipping, alpha, and rotation. More
|
||||
// details are below.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef __D3DXSPRITE_H__
|
||||
#define __D3DXSPRITE_H__
|
||||
|
||||
#include <d3d.h>
|
||||
#include <limits.h>
|
||||
#include "d3dxerr.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// D3DXPrepareDeviceForSprite:
|
||||
//
|
||||
// Call this function to set up all the render states necessary for
|
||||
// BltSprite/WarpSprite to work correctly. (Advanced users may opt to
|
||||
// not call this function first; in which case Blt/WarpSprite functions
|
||||
// will use whatever render/texture states were set up on the device when
|
||||
// they are called.)
|
||||
//
|
||||
// Warning: This function modifies render states and may impact performance
|
||||
// negatively on some 3D hardware if it is called too often per frame.
|
||||
//
|
||||
// Warning: If the render state changes (other than through calls to
|
||||
// BltSprite or WarpSprite), you will need to call this function again before
|
||||
// calling BltSprite or WarpSprite.
|
||||
//
|
||||
// Details: This function modifies the the rendering first texture stage and
|
||||
// it modifies some renderstates for the entire device. Here is the exact
|
||||
// list:
|
||||
//
|
||||
// SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
|
||||
// SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_SELECTARG1);
|
||||
// SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
|
||||
// SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE);
|
||||
// SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_MODULATE);
|
||||
// SetTextureStageState(0, D3DTSS_MINFILTER, D3DTFN_LINEAR);
|
||||
// SetTextureStageState(0, D3DTSS_MAGFILTER, D3DTFG_LINEAR);
|
||||
//
|
||||
// SetRenderState(D3DRENDERSTATE_SRCBLEND, D3DBLEND_SRCALPHA);
|
||||
// SetRenderState(D3DRENDERSTATE_DESTBLEND, D3DBLEND_INVSRCALPHA);
|
||||
// SetRenderState(D3DRENDERSTATE_ALPHABLENDENABLE, TRUE);
|
||||
//
|
||||
// Depending on the value of ZEnable parameter, this function will
|
||||
// will either call
|
||||
// SetRenderState(D3DRENDERSTATE_ZENABLE, FALSE);
|
||||
// - or -
|
||||
// SetRenderState(D3DRENDERSTATE_ZENABLE, TRUE);
|
||||
//
|
||||
// Parameters:
|
||||
// pd3dDevice - a pointer to the d3d device that you wish to prepare
|
||||
// for use with D3DX Sprite Services
|
||||
// ZEnable - a flag indicating whether you want the sprites to
|
||||
// check and update the Z buffer as part of rendering.
|
||||
// If ZEnable is FALSE, OR you are using
|
||||
// alpha-blending, then it is necessary to render your
|
||||
// sprites from back-to-front.
|
||||
//
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
#ifdef __cplusplus
|
||||
HRESULT WINAPI
|
||||
D3DXPrepareDeviceForSprite( LPDIRECT3DDEVICE7 pd3dDevice,
|
||||
BOOL ZEnable = FALSE);
|
||||
#else
|
||||
HRESULT WINAPI
|
||||
D3DXPrepareDeviceForSprite( LPDIRECT3DDEVICE7 pd3dDevice,
|
||||
BOOL ZEnable);
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// The D3DXDrawBasicSprite() function performs blitting of source images onto
|
||||
// a 3D rendering device. This function only calls SetTexture on the first
|
||||
// renderstage with the parameter (pd3dTexture) if that parameter is non-null.
|
||||
// This function assumes that D3DXPrepareDeviceForSprite has been called on
|
||||
// the device or that caller has in some other way correctly prepared the
|
||||
// renderstates.
|
||||
//
|
||||
// This function supports scaling, rotations, alpha-blending, and choosing
|
||||
// a source sub-rect.
|
||||
//
|
||||
// Rotation angle is specified in radians. Both rotations and scales
|
||||
// are applied around the center of the sprite; where the center of the
|
||||
// sprite is half the width/height of the sprite, plus the offset parameter.
|
||||
//
|
||||
// Use the offset parameter if you want the sprite's center to be something
|
||||
// other than the image center.
|
||||
//
|
||||
// The destination point indicates where you would like the center of
|
||||
// the sprite to draw to.
|
||||
//
|
||||
// Parameters:
|
||||
// pd3dTexture - a pointer to the surface containing the texture
|
||||
// pd3dDevice - a pointer to the d3d device to render to. It is
|
||||
// assumed that render states are set up. (See
|
||||
// D3DXPrepareDeviceForSprite)
|
||||
// ppointDest - a pointer to the target point for the sprite. The
|
||||
// components of the vector must be in screen
|
||||
// space.
|
||||
// alpha - alpha value to apply to sprite. 1.0 means totally
|
||||
// opaque; and 0.0 means totally transparent.
|
||||
// WARNING: If you are using alpha, then you should render
|
||||
// from back to front in order to avoid rendering
|
||||
// artifacts.
|
||||
// angleRad - angle of rotation around the 'center' of the rect
|
||||
// scale - a uniform scale that is applied to the source rect
|
||||
// to specify the size of the image that is rendered
|
||||
// pOffset - offset from the center of the source rect to use as the
|
||||
// center of rotation
|
||||
// pSourceRect - a rect that indicates what portion of the source
|
||||
// source texture to use. If NULL is passed, then the
|
||||
// entire source is used. If the source texture was
|
||||
// created via D3DX, then the rect should be specified
|
||||
// in the coordinates of the original image (so that you
|
||||
// don't have to worry about stretching/scaling that D3DX
|
||||
// may have done to make the image work with your current
|
||||
// 3D Device.) Note that horizontal or vertical mirroring
|
||||
// may be simply accomplished by swapping the left/right
|
||||
// or top/bottom fields of this RECT.
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
#ifdef __cplusplus
|
||||
HRESULT WINAPI
|
||||
D3DXDrawSpriteSimple(LPDIRECTDRAWSURFACE7 pd3dTexture,
|
||||
LPDIRECT3DDEVICE7 pd3dDevice,
|
||||
const D3DXVECTOR3 *ppointDest,
|
||||
float alpha = 1.0f,
|
||||
float scale = 1.0f,
|
||||
float angleRad = 0.0f,
|
||||
const D3DXVECTOR2 *pOffset = NULL,
|
||||
const RECT *pSourceRect = NULL);
|
||||
#else
|
||||
HRESULT WINAPI
|
||||
D3DXDrawSpriteSimple(LPDIRECTDRAWSURFACE7 pd3dTexture,
|
||||
LPDIRECT3DDEVICE7 pd3dDevice,
|
||||
D3DXVECTOR3 *ppointDest,
|
||||
float alpha,
|
||||
float scale,
|
||||
float angleRad,
|
||||
D3DXVECTOR2 *pOffset,
|
||||
RECT *pSourceRect);
|
||||
#endif
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// The D3DXDrawSprite() function transforms source images onto a 3D
|
||||
// rendering device. It takes a general 4x4 matrix which is use to transform
|
||||
// the points of a default rect: (left=-.5, top=-.5, right=+.5, bottom=+.5).
|
||||
// (This default rect was chosen so that it was centered around the origin
|
||||
// to ease setting up rotations. And it was chosen to have a width/height of one
|
||||
// to ease setting up scales.)
|
||||
//
|
||||
// This function only calls SetTexture on the first
|
||||
// renderstage with the parameter (pd3dTexture) if that parameter is non-null.
|
||||
// This function assumes that D3DXPrepareDeviceForSprite has been called on
|
||||
// the device or that caller has in some other way correctly prepared the
|
||||
// renderstates.
|
||||
//
|
||||
// This function supports alpha-blending, and choosing
|
||||
// a source sub-rect. (A value of NULL for source sub-rect means the entire
|
||||
// texture is used.)
|
||||
//
|
||||
// Note that if the transformed points have a value for w (the homogenous
|
||||
// coordinate) that is not 1, then this function will invert it and pass
|
||||
// that value to D3D as the rhw field of a TLVERTEX. If the value for w is
|
||||
// zero, then it use 1 as the rhw.
|
||||
//
|
||||
// Parameters:
|
||||
// pd3dTexture - a pointer to the surface containing the texture
|
||||
// pd3dDevice - a pointer to the d3d device to render to. It is
|
||||
// assumed that render states are set up. (See
|
||||
// D3DXPrepareDeviceForSprite)
|
||||
// pMatrixTransform - 4x4 matrix that specifies the transformation
|
||||
// that will be applied to the default -.5 to +.5
|
||||
// rectangle.
|
||||
// alpha - alpha value to apply to sprite. 1.0 means totally
|
||||
// opaque; and 0.0 means totally transparent.
|
||||
// WARNING: If you are using alpha, then you should render
|
||||
// from back to front in order to avoid rendering
|
||||
// artifacts.Furthermore, you should avoid scenarios where
|
||||
// semi-transparent objects intersect.
|
||||
// pSourceRect - a rect that indicates what portion of the source
|
||||
// source texture to use. If NULL is passed, then the
|
||||
// entire source is used. If the source texture was
|
||||
// created via D3DX, then the rect should be specified
|
||||
// in the coordinates of the original image (so that you
|
||||
// don't have to worry about stretching/scaling that D3DX
|
||||
// may have done to make the image work with your current
|
||||
// 3D Device.) Note that mirroring may be simply accomplished
|
||||
// by swapping the left/right or top/bottom fields of
|
||||
// this RECT.
|
||||
//
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
#ifdef __cplusplus
|
||||
HRESULT WINAPI
|
||||
D3DXDrawSpriteTransform(LPDIRECTDRAWSURFACE7 pd3dTexture,
|
||||
LPDIRECT3DDEVICE7 pd3dDevice,
|
||||
const D3DXMATRIX *pMatrixTransform,
|
||||
float alpha = 1.0f,
|
||||
const RECT *pSourceRect = NULL);
|
||||
#else
|
||||
HRESULT WINAPI
|
||||
D3DXDrawSpriteTransform(LPDIRECTDRAWSURFACE7 pd3dTexture,
|
||||
LPDIRECT3DDEVICE7 pd3dDevice,
|
||||
D3DXMATRIX *pMatrixTransform,
|
||||
float alpha,
|
||||
RECT *pSourceRect);
|
||||
#endif
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// The D3DXBuildSpriteTransform() function is a helper provided which
|
||||
// creates a matrix corresponding to simple properties. This matrix is
|
||||
// set up to pass directly to D3DXTransformSprite.
|
||||
//
|
||||
// Parameters:
|
||||
// pMatrix - a pointer to the result matrix
|
||||
// prectDest - a pointer to the target rectangle for the sprite
|
||||
// angleRad - angle of rotation around the 'center' of the rect
|
||||
// pOffset - offset from the center of the source rect to use as the
|
||||
// center of rotation
|
||||
//
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
#ifdef __cplusplus
|
||||
void WINAPI
|
||||
D3DXBuildSpriteTransform(D3DXMATRIX *pMatrix,
|
||||
const RECT *prectDest,
|
||||
float angleRad = 0.0f,
|
||||
const D3DXVECTOR2 *pOffset = NULL);
|
||||
#else
|
||||
void WINAPI
|
||||
D3DXBuildSpriteTransform(D3DXMATRIX *pMatrix,
|
||||
RECT *prectDest,
|
||||
float angleRad,
|
||||
D3DXVECTOR2 *pOffset);
|
||||
#endif
|
||||
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// The D3DXDrawSprite3D() function renders a texture onto a 3D quad. The
|
||||
// quad ABCD is broken into two triangles ABC and ACD which are rendered
|
||||
// via DrawPrim.
|
||||
//
|
||||
// Parameters:
|
||||
// pd3dTexture - a pointer to the surface containing the texture
|
||||
// pd3dDevice - a pointer to the d3d device to render to. It is
|
||||
// assumed that render states are set up. (See
|
||||
// D3DXPrepareDeviceForSprite)
|
||||
// quad - array of 4 points in the following order:
|
||||
// upper-left, upper-right, lower-right, lower-left.
|
||||
// If these vectors contain a W, then this function
|
||||
// will take the reciprocal of that value to pass as
|
||||
// as the rhw (i.e. reciprocal homogenous w).
|
||||
// alpha - alpha value to apply to sprite. 1.0 means totally
|
||||
// opaque; and 0.0 means totally transparent.
|
||||
// WARNING: If you are using alpha, then you should render
|
||||
// from back to front in order to avoid rendering
|
||||
// artifacts.Furthermore, you should avoid scenarios where
|
||||
// semi-transparent objects intersect.
|
||||
// pSourceRect - a rect that indicates what portion of the source
|
||||
// source texture to use. If NULL is passed, then the
|
||||
// entire source is used. If the source texture was
|
||||
// created via D3DX, then the rect should be specified
|
||||
// in the coordinates of the original image (so that you
|
||||
// don't have to worry about stretching/scaling that D3DX
|
||||
// may have done to make the image work with your current
|
||||
// 3D Device.) Note that mirroring may be simply accomplished
|
||||
// by swapping the left/right or top/bottom fields of
|
||||
// this RECT.
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
#ifdef __cplusplus
|
||||
HRESULT WINAPI
|
||||
D3DXDrawSprite3D(LPDIRECTDRAWSURFACE7 pd3dTexture,
|
||||
LPDIRECT3DDEVICE7 pd3dDevice,
|
||||
const D3DXVECTOR4 quad[4],
|
||||
float alpha = 1.0f,
|
||||
const RECT *pSourceRect = NULL);
|
||||
#else
|
||||
HRESULT WINAPI
|
||||
D3DXDrawSprite3D(LPDIRECTDRAWSURFACE7 pd3dTexture,
|
||||
LPDIRECT3DDEVICE7 pd3dDevice,
|
||||
D3DXVECTOR4 quad[4],
|
||||
float alpha,
|
||||
RECT *pSourceRect);
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif // __D3DXSPRITE_H__
|
5561
engine/libs/dxsdk7/include/ddraw.h
Normal file
5561
engine/libs/dxsdk7/include/ddraw.h
Normal file
File diff suppressed because it is too large
Load diff
BIN
engine/libs/dxsdk7/lib/d3dx.lib
Normal file
BIN
engine/libs/dxsdk7/lib/d3dx.lib
Normal file
Binary file not shown.
BIN
engine/libs/dxsdk7/lib/ddraw.lib
Normal file
BIN
engine/libs/dxsdk7/lib/ddraw.lib
Normal file
Binary file not shown.
BIN
engine/libs/dxsdk7/lib/dxguid.lib
Normal file
BIN
engine/libs/dxsdk7/lib/dxguid.lib
Normal file
Binary file not shown.
Loading…
Reference in a new issue