13 #if (! defined _WIN32) && (! defined WIN95)
26 #define D3DVALP(val, prec) ((float)(val))
27 #define D3DVAL(val) ((float)(val))
29 #define D3DDivide(a, b) (float)((double) (a) / (double) (b))
30 #define D3DMultiply(a, b) ((a) * (b))
41 #define CI_GETALPHA(ci) ((ci) >> 24)
42 #define CI_GETINDEX(ci) (((ci) >> 8) & 0xffff)
43 #define CI_GETFRACTION(ci) ((ci) & 0xff)
44 #define CI_ROUNDINDEX(ci) CI_GETINDEX((ci) + 0x80)
45 #define CI_MASKALPHA(ci) ((ci) & 0xffffff)
46 #define CI_MAKE(a, i, f) (((a) << 24) | ((i) << 8) | (f))
54 #define RGBA_GETALPHA(rgb) ((rgb) >> 24)
55 #define RGBA_GETRED(rgb) (((rgb) >> 16) & 0xff)
56 #define RGBA_GETGREEN(rgb) (((rgb) >> 8) & 0xff)
57 #define RGBA_GETBLUE(rgb) ((rgb) & 0xff)
58 #define RGBA_MAKE(r, g, b, a) ((D3DCOLOR) (((a) << 24) | ((r) << 16) | ((g) << 8) | (b)))
63 #define D3DRGB(r, g, b) \
64 (0xff000000L | ( ((long)((r) * 255)) << 16) | (((long)((g) * 255)) << 8) | (long)((b) * 255))
65 #define D3DRGBA(r, g, b, a) \
66 ( (((long)((a) * 255)) << 24) | (((long)((r) * 255)) << 16) \
67 | (((long)((g) * 255)) << 8) | (long)((b) * 255) \
76 #define RGB_GETRED(rgb) (((rgb) >> 16) & 0xff)
77 #define RGB_GETGREEN(rgb) (((rgb) >> 8) & 0xff)
78 #define RGB_GETBLUE(rgb) ((rgb) & 0xff)
79 #define RGBA_SETALPHA(rgba, x) (((x) << 24) | ((rgba) & 0x00ffffff))
80 #define RGB_MAKE(r, g, b) ((D3DCOLOR) (((r) << 16) | ((g) << 8) | (b)))
81 #define RGBA_TORGB(rgba) ((D3DCOLOR) ((rgba) & 0xffffff))
82 #define RGB_TORGBA(rgb) ((D3DCOLOR) ((rgb) | 0xff000000))
93 #define D3DENUMRET_CANCEL DDENUMRET_CANCEL
98 #define D3DENUMRET_OK DDENUMRET_OK
160 #if (defined __cplusplus) && (defined D3D_OVERLOADS)
244 #if (defined __cplusplus) && (defined D3D_OVERLOADS)
245 #include "vd3dvec.inl"
316 #if (defined __cplusplus) && (defined D3D_OVERLOADS)
320 float _tu,
float _tv)
362 #if (defined __cplusplus) && (defined D3D_OVERLOADS)
366 float _tu,
float _tv)
367 {
x = v.
x;
y = v.
y;
z = v.
z; dwReserved = 0;
419 #if (defined __cplusplus) && (defined D3D_OVERLOADS)
422 {
x = v.
x;
y = v.
y;
z = v.
z;
435 #if (defined __cplusplus) && (defined D3D_OVERLOADS)
445 #if (defined __cplusplus) && (defined D3D_OVERLOADS)
456 m[0][0] = _m00;
m[0][1] = _m01;
m[0][2] = _m02;
m[0][3] = _m03;
457 m[1][0] = _m10;
m[1][1] = _m11;
m[1][2] = _m12;
m[1][3] = _m13;
458 m[2][0] = _m20;
m[2][1] = _m21;
m[2][2] = _m22;
m[2][3] = _m23;
459 m[3][0] = _m30;
m[3][1] = _m31;
m[3][2] = _m32;
m[3][3] = _m33;
462 D3DVALUE& operator()(
int iRow,
int iColumn) {
return m[iRow][iColumn]; }
463 const D3DVALUE& operator()(
int iRow,
int iColumn)
const {
return m[iRow][iColumn]; }
498 #define D3DCLIP_LEFT 0x00000001L
499 #define D3DCLIP_RIGHT 0x00000002L
500 #define D3DCLIP_TOP 0x00000004L
501 #define D3DCLIP_BOTTOM 0x00000008L
502 #define D3DCLIP_FRONT 0x00000010L
503 #define D3DCLIP_BACK 0x00000020L
504 #define D3DCLIP_GEN0 0x00000040L
505 #define D3DCLIP_GEN1 0x00000080L
506 #define D3DCLIP_GEN2 0x00000100L
507 #define D3DCLIP_GEN3 0x00000200L
508 #define D3DCLIP_GEN4 0x00000400L
509 #define D3DCLIP_GEN5 0x00000800L
514 #define D3DSTATUS_CLIPUNIONLEFT D3DCLIP_LEFT
515 #define D3DSTATUS_CLIPUNIONRIGHT D3DCLIP_RIGHT
516 #define D3DSTATUS_CLIPUNIONTOP D3DCLIP_TOP
517 #define D3DSTATUS_CLIPUNIONBOTTOM D3DCLIP_BOTTOM
518 #define D3DSTATUS_CLIPUNIONFRONT D3DCLIP_FRONT
519 #define D3DSTATUS_CLIPUNIONBACK D3DCLIP_BACK
520 #define D3DSTATUS_CLIPUNIONGEN0 D3DCLIP_GEN0
521 #define D3DSTATUS_CLIPUNIONGEN1 D3DCLIP_GEN1
522 #define D3DSTATUS_CLIPUNIONGEN2 D3DCLIP_GEN2
523 #define D3DSTATUS_CLIPUNIONGEN3 D3DCLIP_GEN3
524 #define D3DSTATUS_CLIPUNIONGEN4 D3DCLIP_GEN4
525 #define D3DSTATUS_CLIPUNIONGEN5 D3DCLIP_GEN5
527 #define D3DSTATUS_CLIPINTERSECTIONLEFT 0x00001000L
528 #define D3DSTATUS_CLIPINTERSECTIONRIGHT 0x00002000L
529 #define D3DSTATUS_CLIPINTERSECTIONTOP 0x00004000L
530 #define D3DSTATUS_CLIPINTERSECTIONBOTTOM 0x00008000L
531 #define D3DSTATUS_CLIPINTERSECTIONFRONT 0x00010000L
532 #define D3DSTATUS_CLIPINTERSECTIONBACK 0x00020000L
533 #define D3DSTATUS_CLIPINTERSECTIONGEN0 0x00040000L
534 #define D3DSTATUS_CLIPINTERSECTIONGEN1 0x00080000L
535 #define D3DSTATUS_CLIPINTERSECTIONGEN2 0x00100000L
536 #define D3DSTATUS_CLIPINTERSECTIONGEN3 0x00200000L
537 #define D3DSTATUS_CLIPINTERSECTIONGEN4 0x00400000L
538 #define D3DSTATUS_CLIPINTERSECTIONGEN5 0x00800000L
539 #define D3DSTATUS_ZNOTVISIBLE 0x01000000L
542 #define D3DSTATUS_CLIPUNIONALL ( \
543 D3DSTATUS_CLIPUNIONLEFT | \
544 D3DSTATUS_CLIPUNIONRIGHT | \
545 D3DSTATUS_CLIPUNIONTOP | \
546 D3DSTATUS_CLIPUNIONBOTTOM | \
547 D3DSTATUS_CLIPUNIONFRONT | \
548 D3DSTATUS_CLIPUNIONBACK | \
549 D3DSTATUS_CLIPUNIONGEN0 | \
550 D3DSTATUS_CLIPUNIONGEN1 | \
551 D3DSTATUS_CLIPUNIONGEN2 | \
552 D3DSTATUS_CLIPUNIONGEN3 | \
553 D3DSTATUS_CLIPUNIONGEN4 | \
554 D3DSTATUS_CLIPUNIONGEN5 \
557 #define D3DSTATUS_CLIPINTERSECTIONALL ( \
558 D3DSTATUS_CLIPINTERSECTIONLEFT | \
559 D3DSTATUS_CLIPINTERSECTIONRIGHT | \
560 D3DSTATUS_CLIPINTERSECTIONTOP | \
561 D3DSTATUS_CLIPINTERSECTIONBOTTOM | \
562 D3DSTATUS_CLIPINTERSECTIONFRONT | \
563 D3DSTATUS_CLIPINTERSECTIONBACK | \
564 D3DSTATUS_CLIPINTERSECTIONGEN0 | \
565 D3DSTATUS_CLIPINTERSECTIONGEN1 | \
566 D3DSTATUS_CLIPINTERSECTIONGEN2 | \
567 D3DSTATUS_CLIPINTERSECTIONGEN3 | \
568 D3DSTATUS_CLIPINTERSECTIONGEN4 | \
569 D3DSTATUS_CLIPINTERSECTIONGEN5 \
572 #define D3DSTATUS_DEFAULT ( \
573 D3DSTATUS_CLIPINTERSECTIONALL | \
574 D3DSTATUS_ZNOTVISIBLE)
580 #define D3DTRANSFORM_CLIPPED 0x00000001l
581 #define D3DTRANSFORM_UNCLIPPED 0x00000002l
664 #define D3DLIGHT_ACTIVE 0x00000001
665 #define D3DLIGHT_NO_SPECULAR 0x00000002
668 #define D3DLIGHT_RANGE_MAX ((float)sqrt(FLT_MAX))
700 #define D3DCOLOR_MONO 1
701 #define D3DCOLOR_RGB 2
708 #define D3DCLEAR_TARGET 0x00000001l
709 #define D3DCLEAR_ZBUFFER 0x00000002l
889 #define D3DSTATE_OVERRIDE_BIAS 256
894 #define D3DSTATE_OVERRIDE(type) ((DWORD) (type) + D3DSTATE_OVERRIDE_BIAS)
1000 #define D3DRENDERSTATE_BLENDENABLE D3DRENDERSTATE_ALPHABLENDENABLE
1002 #define D3DRENDERSTATE_STIPPLEPATTERN(y) (D3DRENDERSTATE_STIPPLEPATTERN00 + (y))
1046 #define D3DPROCESSVERTICES_TRANSFORMLIGHT 0x00000000L
1047 #define D3DPROCESSVERTICES_TRANSFORM 0x00000001L
1048 #define D3DPROCESSVERTICES_COPY 0x00000002L
1049 #define D3DPROCESSVERTICES_OPMASK 0x00000007L
1051 #define D3DPROCESSVERTICES_UPDATEEXTENTS 0x00000008L
1052 #define D3DPROCESSVERTICES_NOCOLOR 0x00000010L
1067 #define D3DTRIFLAG_START 0x00000000L
1068 #define D3DTRIFLAG_STARTFLAT(len) (len)
1069 #define D3DTRIFLAG_ODD 0x0000001eL
1070 #define D3DTRIFLAG_EVEN 0x0000001fL
1076 #define D3DTRIFLAG_EDGEENABLE1 0x00000100L
1077 #define D3DTRIFLAG_EDGEENABLE2 0x00000200L
1078 #define D3DTRIFLAG_EDGEENABLE3 0x00000400L
1079 #define D3DTRIFLAG_EDGEENABLETRIANGLE \
1080 (D3DTRIFLAG_EDGEENABLE1 | D3DTRIFLAG_EDGEENABLE2 | D3DTRIFLAG_EDGEENABLE3)
1163 #define D3DSETSTATUS_STATUS 0x00000001L
1164 #define D3DSETSTATUS_EXTENTS 0x00000002L
1165 #define D3DSETSTATUS_ALL (D3DSETSTATUS_STATUS | D3DSETSTATUS_EXTENTS)
1175 #define D3DCLIPSTATUS_STATUS 0x00000001L
1176 #define D3DCLIPSTATUS_EXTENTS2 0x00000002L
1177 #define D3DCLIPSTATUS_EXTENTS3 0x00000004L
1196 #define D3DEXECUTE_CLIPPED 0x00000001l
1197 #define D3DEXECUTE_UNCLIPPED 0x00000002l
1213 #define D3DPAL_FREE 0x00
1214 #define D3DPAL_READONLY 0x40
1215 #define D3DPAL_RESERVED 0x80
struct _D3DPOINT D3DPOINT
struct _D3DEXECUTEDATA D3DEXECUTEDATA
struct _D3DPROCESSVERTICES D3DPROCESSVERTICES
enum _D3DCMPFUNC D3DCMPFUNC
struct _D3DLVERTEX D3DLVERTEX
struct _D3DTLVERTEX D3DTLVERTEX
struct _D3DPICKRECORD D3DPICKRECORD
struct _D3DPICKRECORD * LPD3DPICKRECORD
struct _D3DMATRIXMULTIPLY D3DMATRIXMULTIPLY
bool operator==(const vec3d &self, const vec3d &other)
struct _D3DLIGHT2 * LPD3DLIGHT2
DWORD dwVerticesProcessed
D3DRENDERSTATETYPE drstRenderStateType
enum _D3DPRIMITIVETYPE D3DPRIMITIVETYPE
struct _D3DBRANCH D3DBRANCH
struct _D3DPROCESSVERTICES * LPD3DPROCESSVERTICES
struct _D3DLINEPATTERN D3DLINEPATTERN
struct _D3DLIGHTDATA * LPD3DLIGHTDATA
struct _D3DMATRIXLOAD * LPD3DMATRIXLOAD
struct _D3DTEXTURELOAD * LPD3DTEXTURELOAD
struct _D3DSTATS * LPD3DSTATS
struct _D3DTEXTURELOAD D3DTEXTURELOAD
struct _D3DMATERIAL D3DMATERIAL
enum _D3DSHADEMODE D3DSHADEMODE
LPD3DLIGHTINGELEMENT lpIn
enum _D3DTRANSFORMSTATETYPE D3DTRANSFORMSTATETYPE
struct _D3DLVERTEX * LPD3DLVERTEX
struct _D3DSTATUS D3DSTATUS
struct _D3DMATRIXLOAD D3DMATRIXLOAD
D3DLIGHTSTATETYPE dlstLightStateType
struct _D3DSPAN * LPD3DSPAN
struct _D3DVERTEX * LPD3DVERTEX
GLfloat GLfloat GLfloat v2
DWORD dwInstructionOffset
D3DTRANSFORMSTATETYPE dtstTransformStateType
struct _D3DCLIPSTATUS D3DCLIPSTATUS
struct _D3DEXECUTEDATA * LPD3DEXECUTEDATA
enum _D3DFILLMODE D3DFILLMODE
struct _D3DSTATUS * LPD3DSTATUS
struct _D3DTRIANGLE D3DTRIANGLE
struct _D3DVECTOR D3DVECTOR
struct _D3DHVERTEX * LPD3DHVERTEX
struct _D3DCOLORVALUE D3DCOLORVALUE
struct _D3DLIGHTDATA D3DLIGHTDATA
enum _D3DLIGHTTYPE D3DLIGHTTYPE
D3DCOLORVALUE dcvEmissive
D3DMATRIXHANDLE hDestMatrix
D3DTEXTUREHANDLE hTexture
struct _D3DCLIPSTATUS * LPD3DCLIPSTATUS
HWND DWORD LPVOID lpContext
struct _D3DVIEWPORT2 * LPD3DVIEWPORT2
struct _D3DHVERTEX D3DHVERTEX
D3DTEXTUREHANDLE hDestTexture
struct _D3DSTATS D3DSTATS
struct _D3DTRIANGLE * LPD3DTRIANGLE
enum _D3DTEXTUREBLEND D3DTEXTUREBLEND
struct _D3DVERTEX D3DVERTEX
enum _D3DANTIALIASMODE D3DANTIALIASMODE
GLint GLint GLint GLint GLint x
struct _D3DTRANSFORMDATA * LPD3DTRANSFORMDATA
enum _D3DRENDERSTATETYPE D3DRENDERSTATETYPE
struct _D3DVIEWPORT2 D3DVIEWPORT2
enum _D3DTEXTUREADDRESS D3DTEXTUREADDRESS
HRESULT(WINAPI * LPD3DENUMTEXTUREFORMATSCALLBACK)(LPDDSURFACEDESC lpDdsd, LPVOID lpContext)
struct _D3DINSTRUCTION D3DINSTRUCTION
struct _D3DPOINT * LPD3DPOINT
struct _D3DLIGHTINGELEMENT D3DLIGHTINGELEMENT
struct _D3DMATERIAL * LPD3DMATERIAL
DWORD dwInstructionLength
struct _D3DLINE * LPD3DLINE
struct _D3DTLVERTEX * LPD3DTLVERTEX
GLfloat GLfloat GLfloat GLfloat nx
struct _DDSURFACEDESC FAR * LPDDSURFACEDESC
enum _D3DFOGMODE D3DFOGMODE
enum _D3DLIGHTSTATETYPE D3DLIGHTSTATETYPE
struct _D3DLIGHT2 D3DLIGHT2
D3DMATRIXHANDLE hSrcMatrix
DWORD * LPD3DTEXTUREHANDLE
D3DMATRIXHANDLE hDestMatrix
struct _D3DINSTRUCTION * LPD3DINSTRUCTION
struct _D3DCOLORVALUE * LPD3DCOLORVALUE
struct _D3DSTATE D3DSTATE
struct _D3DSTATE * LPD3DSTATE
struct _D3DVECTOR * LPD3DVECTOR
DWORD * LPD3DMATRIXHANDLE
D3DMATRIXHANDLE hSrcMatrix2
struct _D3DBRANCH * LPD3DBRANCH
DWORD * LPD3DMATERIALHANDLE
D3DCOLORVALUE dcvSpecular
struct _D3DTRANSFORMDATA D3DTRANSFORMDATA
enum _D3DTEXTUREFILTER D3DTEXTUREFILTER
struct _D3DVIEWPORT * LPD3DVIEWPORT
struct _D3DLIGHTINGELEMENT * LPD3DLIGHTINGELEMENT
struct _D3DRECT * LPD3DRECT
struct _D3DMATRIX D3DMATRIX
struct _D3DVIEWPORT D3DVIEWPORT
D3DTEXTUREHANDLE hSrcTexture
struct _D3DLIGHT D3DLIGHT
struct _D3DLIGHT * LPD3DLIGHT
enum _D3DVERTEXTYPE D3DVERTEXTYPE
struct _D3DMATRIX * LPD3DMATRIX
D3DMATRIXHANDLE hSrcMatrix1
HRESULT(WINAPI * LPD3DVALIDATECALLBACK)(LPVOID lpUserArg, DWORD dwOffset)
struct _D3DMATRIXMULTIPLY * LPD3DMATRIXMULTIPLY
enum _D3DOPCODE D3DOPCODE