📄 direct3d.pas
字号:
end;
{$EXTERNALSYM _D3DPICKRECORD}
D3DPICKRECORD = _D3DPICKRECORD;
{$EXTERNALSYM D3DPICKRECORD}
TD3DPickRecord = _D3DPICKRECORD;
(*
* The following defines the rendering states which can be set in the
* execute buffer.
*)
{$IFDEF DIRECT3D_VERSION_LESS_8}
PD3DShadeMode = ^TD3DShadeMode;
_D3DSHADEMODE = (
D3DSHADE_INVALID_0,
D3DSHADE_FLAT,
D3DSHADE_GOURAUD,
D3DSHADE_PHONG);
{$EXTERNALSYM _D3DSHADEMODE}
D3DSHADEMODE = _D3DSHADEMODE;
{$EXTERNALSYM D3DSHADEMODE}
TD3DShadeMode = _D3DSHADEMODE;
PD3DFillMode = ^TD3DFillMode;
_D3DFILLMODE = (
D3DFILL_INVALID_0,
D3DFILL_POINT,
D3DFILL_WIREFRAME,
D3DFILL_SOLID);
{$EXTERNALSYM _D3DFILLMODE}
D3DFILLMODE = _D3DFILLMODE;
{$EXTERNALSYM D3DFILLMODE}
TD3DFillMode = _D3DFILLMODE;
PD3DLinePattern = ^TD3DLinePattern;
_D3DLINEPATTERN = packed record
wRepeatFactor: WORD;
wLinePattern: WORD;
end;
{$EXTERNALSYM _D3DLINEPATTERN}
D3DLINEPATTERN = _D3DLINEPATTERN;
{$EXTERNALSYM D3DLINEPATTERN}
TD3DLinePattern = _D3DLINEPATTERN;
{$ENDIF} // DIRECT3D_VERSION_LESS_8
PD3DTextureFilter = ^TD3DTextureFilter;
_D3DTEXTUREFILTER = (
D3DFILTER_INVALID_0,
D3DFILTER_NEAREST,
D3DFILTER_LINEAR,
D3DFILTER_MIPNEAREST,
D3DFILTER_MIPLINEAR,
D3DFILTER_LINEARMIPNEAREST,
D3DFILTER_LINEARMIPLINEAR);
{$EXTERNALSYM _D3DTEXTUREFILTER}
D3DTEXTUREFILTER = _D3DTEXTUREFILTER;
{$EXTERNALSYM D3DTEXTUREFILTER}
TD3DTextureFilter = _D3DTEXTUREFILTER;
{$IFDEF DIRECT3D_VERSION_LESS_8}
PD3DBlend = ^TD3DBlend;
_D3DBLEND = (
D3DBLEND_INVALID_0,
D3DBLEND_ZERO,
D3DBLEND_ONE,
D3DBLEND_SRCCOLOR,
D3DBLEND_INVSRCCOLOR,
D3DBLEND_SRCALPHA,
D3DBLEND_INVSRCALPHA,
D3DBLEND_DESTALPHA,
D3DBLEND_INVDESTALPHA,
D3DBLEND_DESTCOLOR,
D3DBLEND_INVDESTCOLOR,
D3DBLEND_SRCALPHASAT,
D3DBLEND_BOTHSRCALPHA,
D3DBLEND_BOTHINVSRCALPHA);
{$EXTERNALSYM _D3DBLEND}
D3DBLEND = _D3DBLEND;
{$EXTERNALSYM D3DBLEND}
TD3DBlend = _D3DBLEND;
{$ENDIF} // DIRECT3D_VERSION_LESS_8
PD3DTextureBlend = ^TD3DTextureBlend;
_D3DTEXTUREBLEND = (
D3DTBLEND_INVALID_0,
D3DTBLEND_DECAL,
D3DTBLEND_MODULATE,
D3DTBLEND_DECALALPHA,
D3DTBLEND_MODULATEALPHA,
D3DTBLEND_DECALMASK,
D3DTBLEND_MODULATEMASK,
D3DTBLEND_COPY
{$IFDEF DIRECT3D_VERSION_5},
D3DTBLEND_ADD
{$ENDIF} // DIRECT3D_VERSION_5
);
{$EXTERNALSYM _D3DTEXTUREBLEND}
D3DTEXTUREBLEND = _D3DTEXTUREBLEND;
{$EXTERNALSYM D3DTEXTUREBLEND}
TD3DTextureBlend = _D3DTEXTUREBLEND;
{$IFDEF DIRECT3D_VERSION_LESS_8}
PD3DTextureAddress = ^TD3DTextureAddress;
_D3DTEXTUREADDRESS = (
D3DTADDRESS_INVALID_0,
D3DTADDRESS_WRAP,
D3DTADDRESS_MIRROR,
D3DTADDRESS_CLAMP
{$IFDEF DIRECT3D_VERSION_5},
D3DTADDRESS_BORDER
{$ENDIF} // DIRECT3D_VERSION_5
);
{$EXTERNALSYM _D3DTEXTUREADDRESS}
D3DTEXTUREADDRESS = _D3DTEXTUREADDRESS;
{$EXTERNALSYM D3DTEXTUREADDRESS}
TD3DTextureAddress = _D3DTEXTUREADDRESS;
PD3DCull = ^TD3DCull;
_D3DCULL = (
D3DCULL_INVALID_0,
D3DCULL_NONE,
D3DCULL_CW,
D3DCULL_CCW);
{$EXTERNALSYM _D3DCULL}
D3DCULL = _D3DCULL;
{$EXTERNALSYM D3DCULL}
TD3DCull = _D3DCULL;
PD3DCmpFunc = ^TD3DCmpFunc;
_D3DCMPFUNC = (
D3DCMP_INVALID_0,
D3DCMP_NEVER,
D3DCMP_LESS,
D3DCMP_EQUAL,
D3DCMP_LESSEQUAL,
D3DCMP_GREATER,
D3DCMP_NOTEQUAL,
D3DCMP_GREATEREQUAL,
D3DCMP_ALWAYS);
{$EXTERNALSYM _D3DCMPFUNC}
D3DCMPFUNC = _D3DCMPFUNC;
{$EXTERNALSYM D3DCMPFUNC}
TD3DCmpFunc = _D3DCMPFUNC;
{$IFDEF DIRECT3D_VERSION_6}
PD3DStencilOp = ^TD3DStencilOp;
_D3DSTENCILOP = (
D3DSTENCILOP_INVALID_0,
D3DSTENCILOP_KEEP,
D3DSTENCILOP_ZERO,
D3DSTENCILOP_REPLACE,
D3DSTENCILOP_INCRSAT,
D3DSTENCILOP_DECRSAT,
D3DSTENCILOP_INVERT,
D3DSTENCILOP_INCR,
D3DSTENCILOP_DECR);
{$EXTERNALSYM _D3DSTENCILOP}
D3DSTENCILOP = _D3DSTENCILOP;
{$EXTERNALSYM D3DSTENCILOP}
TD3DStencilOp = _D3DSTENCILOP;
{$ENDIF} // DIRECT3D_VERSION_6
PD3DFogMode = ^TD3DFogMode;
_D3DFOGMODE = (
D3DFOG_NONE,
D3DFOG_EXP,
D3DFOG_EXP2
{$IFDEF DIRECT3D_VERSION_5},
D3DFOG_LINEAR
{$ENDIF} // DIRECT3D_VERSION_5
);
{$EXTERNALSYM _D3DFOGMODE}
D3DFOGMODE = _D3DFOGMODE;
{$EXTERNALSYM D3DFOGMODE}
TD3DFogMode = _D3DFOGMODE;
{$IFDEF DIRECT3D_VERSION_6}
PD3DZBufferType = ^TD3DZBufferType;
_D3DZBUFFERTYPE = (
D3DZB_FALSE,
D3DZB_TRUE, // Z buffering
D3DZB_USEW); // W buffering
{$EXTERNALSYM _D3DZBUFFERTYPE}
D3DZBUFFERTYPE = _D3DZBUFFERTYPE;
{$EXTERNALSYM D3DZBUFFERTYPE}
TD3DZBufferType = _D3DZBUFFERTYPE;
{$ENDIF} // DIRECT3D_VERSION_6
{$ENDIF} // DIRECT3D_VERSION_LESS_8
{$IFDEF DIRECT3D_VERSION_5}
PD3DAntialiasMode = ^TD3DAntialiasMode;
_D3DANTIALIASMODE = (
D3DANTIALIAS_NONE,
D3DANTIALIAS_SORTDEPENDENT,
D3DANTIALIAS_SORTINDEPENDENT);
{$EXTERNALSYM _D3DANTIALIASMODE}
D3DANTIALIASMODE = _D3DANTIALIASMODE;
{$EXTERNALSYM D3DANTIALIASMODE}
TD3DAntialiasMode = _D3DANTIALIASMODE;
// Vertex types supported by Direct3D
PD3DVertexType = ^TD3DVertexType;
_D3DVERTEXTYPE = (
D3DVT_INVALID_0,
D3DVT_VERTEX,
D3DVT_LVERTEX,
D3DVT_TLVERTEX);
{$EXTERNALSYM _D3DVERTEXTYPE}
D3DVERTEXTYPE = _D3DVERTEXTYPE;
{$EXTERNALSYM D3DVERTEXTYPE}
TD3DVertexType = _D3DVERTEXTYPE;
{$IFDEF DIRECT3D_VERSION_LESS_8}
// Primitives supported by draw-primitive API
PD3DPrimitiveType = ^TD3DPrimitiveType;
_D3DPRIMITIVETYPE = (
D3DPT_INVALID_0,
D3DPT_POINTLIST,
D3DPT_LINELIST,
D3DPT_LINESTRIP,
D3DPT_TRIANGLELIST,
D3DPT_TRIANGLESTRIP,
D3DPT_TRIANGLEFAN);
{$EXTERNALSYM _D3DPRIMITIVETYPE}
D3DPRIMITIVETYPE = _D3DPRIMITIVETYPE;
{$EXTERNALSYM D3DPRIMITIVETYPE}
TD3DPrimitiveType = _D3DPRIMITIVETYPE;
{$ENDIF} // DIRECT3D_VERSION_LESS_8
{$ENDIF} // DIRECT3D_VERSION_5
(*
* Amount to add to a state to generate the override for that state.
*)
const
D3DSTATE_OVERRIDE_BIAS = 256;
{$EXTERNALSYM D3DSTATE_OVERRIDE_BIAS}
(*
* A state which sets the override flag for the specified state type.
*)
function D3DSTATE_OVERRIDE(StateType: DWORD): DWORD;
{$EXTERNALSYM D3DSTATE_OVERRIDE}
{$IFDEF DIRECT3D_VERSION_8}
//
// legacy transform state names
//
{$ENDIF} // DIRECT3D_VERSION_8
type
PD3DTransformStateType = ^TD3DTransformStateType;
TD3DTransformStateType = DWORD;
const
D3DTRANSFORMSTATE_WORLD = TD3DTransformStateType(1);
{$EXTERNALSYM D3DTRANSFORMSTATE_WORLD}
D3DTRANSFORMSTATE_VIEW = TD3DTransformStateType(2);
{$EXTERNALSYM D3DTRANSFORMSTATE_VIEW}
D3DTRANSFORMSTATE_PROJECTION = TD3DTransformStateType(3);
{$EXTERNALSYM D3DTRANSFORMSTATE_PROJECTION}
{$IFDEF DIRECT3D_VERSION_7}
D3DTRANSFORMSTATE_WORLD1 = TD3DTransformStateType(4); // 2nd matrix to blend
{$EXTERNALSYM D3DTRANSFORMSTATE_WORLD1}
D3DTRANSFORMSTATE_WORLD2 = TD3DTransformStateType(5); // 3rd matrix to blend
{$EXTERNALSYM D3DTRANSFORMSTATE_WORLD2}
D3DTRANSFORMSTATE_WORLD3 = TD3DTransformStateType(6); // 4th matrix to blend
{$EXTERNALSYM D3DTRANSFORMSTATE_WORLD3}
D3DTRANSFORMSTATE_TEXTURE0 = TD3DTransformStateType(16);
{$EXTERNALSYM D3DTRANSFORMSTATE_TEXTURE0}
D3DTRANSFORMSTATE_TEXTURE1 = TD3DTransformStateType(17);
{$EXTERNALSYM D3DTRANSFORMSTATE_TEXTURE1}
D3DTRANSFORMSTATE_TEXTURE2 = TD3DTransformStateType(18);
{$EXTERNALSYM D3DTRANSFORMSTATE_TEXTURE2}
D3DTRANSFORMSTATE_TEXTURE3 = TD3DTransformStateType(19);
{$EXTERNALSYM D3DTRANSFORMSTATE_TEXTURE3}
D3DTRANSFORMSTATE_TEXTURE4 = TD3DTransformStateType(20);
{$EXTERNALSYM D3DTRANSFORMSTATE_TEXTURE4}
D3DTRANSFORMSTATE_TEXTURE5 = TD3DTransformStateType(21);
{$EXTERNALSYM D3DTRANSFORMSTATE_TEXTURE5}
D3DTRANSFORMSTATE_TEXTURE6 = TD3DTransformStateType(22);
{$EXTERNALSYM D3DTRANSFORMSTATE_TEXTURE6}
D3DTRANSFORMSTATE_TEXTURE7 = TD3DTransformStateType(23);
{$EXTERNALSYM D3DTRANSFORMSTATE_TEXTURE7}
{$ENDIF} // DIRECT3D_VERSION_7
type
PD3DLightStateType = ^TD3DLightStateType;
_D3DLIGHTSTATETYPE = (
D3DLIGHTSTATE_INVALID_0,
D3DLIGHTSTATE_MATERIAL,
D3DLIGHTSTATE_AMBIENT,
D3DLIGHTSTATE_COLORMODEL,
D3DLIGHTSTATE_FOGMODE,
D3DLIGHTSTATE_FOGSTART,
D3DLIGHTSTATE_FOGEND,
D3DLIGHTSTATE_FOGDENSITY
{$IFDEF DIRECT3D_VERSION_6},
D3DLIGHTSTATE_COLORVERTEX
{$EXTERNALSYM _D3DLIGHTSTATETYPE}
{$ENDIF} // DIRECT3D_VERSION_6
);
D3DLIGHTSTATETYPE = _D3DLIGHTSTATETYPE;
{$EXTERNALSYM D3DLIGHTSTATETYPE}
TD3DLightStateType = _D3DLIGHTSTATETYPE;
type
PD3DRenderStateType = ^TD3DRenderStateType;
TD3DRenderStateType = DWORD;
const
D3DRENDERSTATE_ANTIALIAS = 2; (* D3DANTIALIASMODE *)
{$EXTERNALSYM D3DRENDERSTATE_ANTIALIAS}
D3DRENDERSTATE_TEXTUREPERSPECTIVE = 4; (* TRUE for perspective correction *)
{$EXTERNALSYM D3DRENDERSTATE_TEXTUREPERSPECTIVE}
D3DRENDERSTATE_ZENABLE = 7; (* D3DZBUFFERTYPE (or TRUE/FALSE for legacy) *)
{$EXTERNALSYM D3DRENDERSTATE_ZENABLE}
D3DRENDERSTATE_FILLMODE = 8; (* D3DFILL_MODE *)
{$EXTERNALSYM D3DRENDERSTATE_FILLMODE}
D3DRENDERSTATE_SHADEMODE = 9; (* D3DSHADEMODE *)
{$EXTERNALSYM D3DRENDERSTATE_SHADEMODE}
D3DRENDERSTATE_LINEPATTERN = 10; (* D3DLINEPATTERN *)
{$EXTERNALSYM D3DRENDERSTATE_LINEPATTERN}
D3DRENDERSTATE_ZWRITEENABLE = 14; (* TRUE to enable z writes *)
{$EXTERNALSYM D3DRENDERSTATE_ZWRITEENABLE}
D3DRENDERSTATE_ALPHATESTENABLE = 15; (* TRUE to enable alpha tests *)
{$EXTERNALSYM D3DRENDERSTATE_ALPHATESTENABLE}
D3DRENDERSTATE_LASTPIXEL = 16; (* TRUE for last-pixel on lines *)
{$EXTERNALSYM D3DRENDERSTATE_LASTPIXEL}
D3DRENDERSTATE_SRCBLEND = 19; (* D3DBLEND *)
{$EXTERNALSYM D3DRENDERSTATE_SRCBLEND}
D3DRENDERSTATE_DESTBLEND = 20; (* D3DBLEND *)
{$EXTERNALSYM D3DRENDERSTATE_DESTBLEND}
D3DRENDERSTATE_CULLMODE = 22; (* D3DCULL *)
{$EXTERNALSYM D3DRENDERSTATE_CULLMODE}
D3DRENDERSTATE_ZFUNC = 23; (* D3DCMPFUNC *)
{$EXTERNALSYM D3DRENDERSTATE_ZFUNC}
D3DRENDERSTATE_ALPHAREF = 24; (* D3DFIXED *)
{$EXTERNALSYM D3DRENDERSTATE_ALPHAREF}
D3DRENDERSTATE_ALPHAFUNC = 25; (* D3DCMPFUNC *)
{$EXTERNALSYM D3DRENDERSTATE_ALPHAFUNC}
D3DRENDERSTATE_DITHERENABLE = 26; (* TRUE to enable dithering *)
{$EXTERNALSYM D3DRENDERSTATE_DITHERENABLE}
{$IFDEF DIRECT3D_VERSION_5}
D3DRENDERSTATE_ALPHABLENDENABLE = 27; (* TRUE to enable alpha blending *)
{$EXTERNALSYM D3DRENDERSTATE_ALPHABLENDENABLE}
{$ENDIF} // DIRECT3D_VERSION_5
D3DRENDERSTATE_FOGENABLE = 28; (* TRUE to enable fog blending *)
{$EXTERNALSYM D3DRENDERSTATE_FOGENABLE}
D3DRENDERSTATE_SPECULARENABLE = 29; (* TRUE to enable specular *)
{$EXTERNALSYM D3DRENDERSTATE_SPECULARENABLE}
D3DRENDERSTATE_ZVISIBLE = 30; (* TRUE to enable z checking *)
{$EXTERNALSYM D3DRENDERSTATE_ZVISIBLE}
D3DRENDERSTATE_STIPPLEDALPHA = 33; (* TRUE to enable stippled alpha (RGB device only) *)
{$EXTERNALSYM D3DRENDERSTATE_STIPPLEDALPHA}
D3DRENDERSTATE_FOGCOLOR = 34; (* D3DCOLOR *)
{$EXTERNALSYM D3DRENDERSTATE_FOGCOLOR}
D3DRENDERSTATE_FOGTABLEMODE = 35; (* D3DFOGMODE *)
{$EXTERNALSYM D3DRENDERSTATE_FOGTABLEMODE}
{$IFDEF DIRECT3D_VERSION_7}
D3DRENDERSTATE_FOGSTART = 36; (* Fog start (for both vertex and pixel fog) *)
{$EXTERNALSYM D3DRENDERSTATE_FOGSTART}
D3DRENDERSTATE_FOGEND = 37; (* Fog end *)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -