📄 direct3d9.pas
字号:
D3DRS_WRAP4 = 132, (* wrap for 5th texture coord. set *)
D3DRS_WRAP5 = 133, (* wrap for 6th texture coord. set *)
D3DRS_WRAP6 = 134, (* wrap for 7th texture coord. set *)
D3DRS_WRAP7 = 135, (* wrap for 8th texture coord. set *)
D3DRS_CLIPPING = 136,
D3DRS_LIGHTING = 137,
D3DRS_AMBIENT = 139,
D3DRS_FOGVERTEXMODE = 140,
D3DRS_COLORVERTEX = 141,
D3DRS_LOCALVIEWER = 142,
D3DRS_NORMALIZENORMALS = 143,
D3DRS_DIFFUSEMATERIALSOURCE = 145,
D3DRS_SPECULARMATERIALSOURCE = 146,
D3DRS_AMBIENTMATERIALSOURCE = 147,
D3DRS_EMISSIVEMATERIALSOURCE = 148,
D3DRS_VERTEXBLEND = 151,
D3DRS_CLIPPLANEENABLE = 152,
D3DRS_POINTSIZE = 154, (* float point size *)
D3DRS_POINTSIZE_MIN = 155, (* float point size min threshold *)
D3DRS_POINTSPRITEENABLE = 156, (* BOOL point texture coord control *)
D3DRS_POINTSCALEENABLE = 157, (* BOOL point size scale enable *)
D3DRS_POINTSCALE_A = 158, (* float point attenuation A value *)
D3DRS_POINTSCALE_B = 159, (* float point attenuation B value *)
D3DRS_POINTSCALE_C = 160, (* float point attenuation C value *)
D3DRS_MULTISAMPLEANTIALIAS = 161, // BOOL - set to do FSAA with multisample buffer
D3DRS_MULTISAMPLEMASK = 162, // DWORD - per-sample enable/disable
D3DRS_PATCHEDGESTYLE = 163, // Sets whether patch edges will use float style tessellation
D3DRS_DEBUGMONITORTOKEN = 165, // DEBUG ONLY - token to debug monitor
D3DRS_POINTSIZE_MAX = 166, (* float point size max threshold *)
D3DRS_INDEXEDVERTEXBLENDENABLE = 167,
D3DRS_COLORWRITEENABLE = 168, // per-channel write enable
D3DRS_TWEENFACTOR = 170, // float tween factor
D3DRS_BLENDOP = 171, // D3DBLENDOP setting
D3DRS_POSITIONDEGREE = 172, // NPatch position interpolation degree. D3DDEGREE_LINEAR or D3DDEGREE_CUBIC (default)
D3DRS_NORMALDEGREE = 173, // NPatch normal interpolation degree. D3DDEGREE_LINEAR (default) or D3DDEGREE_QUADRATIC
D3DRS_SCISSORTESTENABLE = 174,
D3DRS_SLOPESCALEDEPTHBIAS = 175,
D3DRS_ANTIALIASEDLINEENABLE = 176,
D3DRS_MINTESSELLATIONLEVEL = 178,
D3DRS_MAXTESSELLATIONLEVEL = 179,
D3DRS_ADAPTIVETESS_X = 180,
D3DRS_ADAPTIVETESS_Y = 181,
D3DRS_ADAPTIVETESS_Z = 182,
D3DRS_ADAPTIVETESS_W = 183,
D3DRS_ENABLEADAPTIVETESSELLATION = 184,
D3DRS_TWOSIDEDSTENCILMODE = 185, (* BOOL enable/disable 2 sided stenciling *)
D3DRS_CCW_STENCILFAIL = 186, (* D3DSTENCILOP to do if ccw stencil test fails *)
D3DRS_CCW_STENCILZFAIL = 187, (* D3DSTENCILOP to do if ccw stencil test passes and Z test fails *)
D3DRS_CCW_STENCILPASS = 188, (* D3DSTENCILOP to do if both ccw stencil and Z tests pass *)
D3DRS_CCW_STENCILFUNC = 189, (* D3DCMPFUNC fn. ccw Stencil Test passes if ((ref & mask) stencilfn (stencil & mask)) is true *)
D3DRS_COLORWRITEENABLE1 = 190, (* Additional ColorWriteEnables for the devices that support D3DPMISCCAPS_INDEPENDENTWRITEMASKS *)
D3DRS_COLORWRITEENABLE2 = 191, (* Additional ColorWriteEnables for the devices that support D3DPMISCCAPS_INDEPENDENTWRITEMASKS *)
D3DRS_COLORWRITEENABLE3 = 192, (* Additional ColorWriteEnables for the devices that support D3DPMISCCAPS_INDEPENDENTWRITEMASKS *)
D3DRS_BLENDFACTOR = 193, (* D3DCOLOR used for a constant blend factor during alpha blending for devices that support D3DPBLENDCAPS_BLENDFACTOR *)
D3DRS_SRGBWRITEENABLE = 194, (* Enable rendertarget writes to be DE-linearized to SRGB (for formats that expose D3DUSAGE_QUERY_SRGBWRITE) *)
D3DRS_DEPTHBIAS = 195,
D3DRS_WRAP8 = 198, (* Additional wrap states for vs_3_0+ attributes with D3DDECLUSAGE_TEXCOORD *)
D3DRS_WRAP9 = 199,
D3DRS_WRAP10 = 200,
D3DRS_WRAP11 = 201,
D3DRS_WRAP12 = 202,
D3DRS_WRAP13 = 203,
D3DRS_WRAP14 = 204,
D3DRS_WRAP15 = 205,
D3DRS_SEPARATEALPHABLENDENABLE = 206, (* TRUE to enable a separate blending function for the alpha channel *)
D3DRS_SRCBLENDALPHA = 207, (* SRC blend factor for the alpha channel when D3DRS_SEPARATEDESTALPHAENABLE is TRUE *)
D3DRS_DESTBLENDALPHA = 208, (* DST blend factor for the alpha channel when D3DRS_SEPARATEDESTALPHAENABLE is TRUE *)
D3DRS_BLENDOPALPHA = 209 (* Blending operation for the alpha channel when D3DRS_SEPARATEDESTALPHAENABLE is TRUE *)
);
{$EXTERNALSYM _D3DRENDERSTATETYPE}
D3DRENDERSTATETYPE = _D3DRENDERSTATETYPE;
{$EXTERNALSYM D3DRENDERSTATETYPE}
TD3DRenderStateType = _D3DRENDERSTATETYPE;
{$ENDIF}
const
// Maximum number of simultaneous render targets D3D supports
D3D_MAX_SIMULTANEOUS_RENDERTARGETS = 4;
{$EXTERNALSYM D3D_MAX_SIMULTANEOUS_RENDERTARGETS}
type
// Values for material source
_D3DMATERIALCOLORSOURCE = {$IFDEF TYPE_IDENTITY}type {$ENDIF}DWord;
{$EXTERNALSYM _D3DMATERIALCOLORSOURCE}
D3DMATERIALCOLORSOURCE = _D3DMATERIALCOLORSOURCE;
{$EXTERNALSYM D3DMATERIALCOLORSOURCE}
TD3DMaterialSource = _D3DMATERIALCOLORSOURCE;
const
D3DMCS_MATERIAL = TD3DMaterialSource(0); // Color from material is used
{$EXTERNALSYM D3DMCS_MATERIAL}
D3DMCS_COLOR1 = TD3DMaterialSource(1); // Diffuse vertex color is used
{$EXTERNALSYM D3DMCS_COLOR1}
D3DMCS_COLOR2 = TD3DMaterialSource(2); // Specular vertex color is used
{$EXTERNALSYM D3DMCS_COLOR2}
D3DMCS_FORCE_DWORD = TD3DMaterialSource($7fffffff); // force 32-bit size enum
{$EXTERNALSYM D3DMCS_FORCE_DWORD}
// Bias to apply to the texture coordinate set to apply a wrap to.
D3DRENDERSTATE_WRAPBIAS = DWORD(128);
{$EXTERNALSYM D3DRENDERSTATE_WRAPBIAS}
{ Flags to construct the WRAP render states }
D3DWRAP_U = $00000001;
{$EXTERNALSYM D3DWRAP_U}
D3DWRAP_V = $00000002;
{$EXTERNALSYM D3DWRAP_V}
D3DWRAP_W = $00000004;
{$EXTERNALSYM D3DWRAP_W}
{ Flags to construct the WRAP render states for 1D thru 4D texture coordinates }
D3DWRAPCOORD_0 = $00000001; // same as D3DWRAP_U
{$EXTERNALSYM D3DWRAPCOORD_0}
D3DWRAPCOORD_1 = $00000002; // same as D3DWRAP_V
{$EXTERNALSYM D3DWRAPCOORD_1}
D3DWRAPCOORD_2 = $00000004; // same as D3DWRAP_W
{$EXTERNALSYM D3DWRAPCOORD_2}
D3DWRAPCOORD_3 = $00000008;
{$EXTERNALSYM D3DWRAPCOORD_3}
{ Flags to construct D3DRS_COLORWRITEENABLE }
D3DCOLORWRITEENABLE_RED = (1 shl 0);
{$EXTERNALSYM D3DCOLORWRITEENABLE_RED}
D3DCOLORWRITEENABLE_GREEN = (1 shl 1);
{$EXTERNALSYM D3DCOLORWRITEENABLE_GREEN}
D3DCOLORWRITEENABLE_BLUE = (1 shl 2);
{$EXTERNALSYM D3DCOLORWRITEENABLE_BLUE}
D3DCOLORWRITEENABLE_ALPHA = (1 shl 3);
{$EXTERNALSYM D3DCOLORWRITEENABLE_ALPHA}
(*
* State enumerants for per-stage processing of fixed function pixel processing
* Two of these affect fixed function vertex processing as well: TEXTURETRANSFORMFLAGS and TEXCOORDINDEX.
*)
{$IFNDEF COMPILER6_UP}
type
_D3DTEXTURESTAGESTATETYPE = {$IFDEF TYPE_IDENTITY}type {$ENDIF}DWord;
{$EXTERNALSYM _D3DTEXTURESTAGESTATETYPE}
D3DTEXTURESTAGESTATETYPE = _D3DTEXTURESTAGESTATETYPE;
{$EXTERNALSYM D3DTEXTURESTAGESTATETYPE}
TD3DTextureStageStateType = _D3DTEXTURESTAGESTATETYPE;
const
D3DTSS_COLOROP = TD3DTextureStageStateType( 1); { D3DTEXTUREOP - per-stage blending controls for color channels }
{$EXTERNALSYM D3DTSS_COLOROP}
D3DTSS_COLORARG1 = TD3DTextureStageStateType( 2); { D3DTA_* (texture arg) }
{$EXTERNALSYM D3DTSS_COLORARG1}
D3DTSS_COLORARG2 = TD3DTextureStageStateType( 3); { D3DTA_* (texture arg) }
{$EXTERNALSYM D3DTSS_COLORARG2}
D3DTSS_ALPHAOP = TD3DTextureStageStateType( 4); { D3DTEXTUREOP - per-stage blending controls for alpha channel }
{$EXTERNALSYM D3DTSS_ALPHAOP}
D3DTSS_ALPHAARG1 = TD3DTextureStageStateType( 5); { D3DTA_* (texture arg) }
{$EXTERNALSYM D3DTSS_ALPHAARG1}
D3DTSS_ALPHAARG2 = TD3DTextureStageStateType( 6); { D3DTA_* (texture arg) }
{$EXTERNALSYM D3DTSS_ALPHAARG2}
D3DTSS_BUMPENVMAT00 = TD3DTextureStageStateType( 7); { float (bump mapping matrix) }
{$EXTERNALSYM D3DTSS_BUMPENVMAT00}
D3DTSS_BUMPENVMAT01 = TD3DTextureStageStateType( 8); { float (bump mapping matrix) }
{$EXTERNALSYM D3DTSS_BUMPENVMAT01}
D3DTSS_BUMPENVMAT10 = TD3DTextureStageStateType( 9); { float (bump mapping matrix) }
{$EXTERNALSYM D3DTSS_BUMPENVMAT10}
D3DTSS_BUMPENVMAT11 = TD3DTextureStageStateType(10); { float (bump mapping matrix) }
{$EXTERNALSYM D3DTSS_BUMPENVMAT11}
D3DTSS_TEXCOORDINDEX = TD3DTextureStageStateType(11); { identifies which set of texture coordinates index this texture }
{$EXTERNALSYM D3DTSS_TEXCOORDINDEX}
D3DTSS_BUMPENVLSCALE = TD3DTextureStageStateType(22); { float scale for bump map luminance }
{$EXTERNALSYM D3DTSS_BUMPENVLSCALE}
D3DTSS_BUMPENVLOFFSET = TD3DTextureStageStateType(23); { float offset for bump map luminance }
{$EXTERNALSYM D3DTSS_BUMPENVLOFFSET}
D3DTSS_TEXTURETRANSFORMFLAGS = TD3DTextureStageStateType(24); { D3DTEXTURETRANSFORMFLAGS controls texture transform }
{$EXTERNALSYM D3DTSS_TEXTURETRANSFORMFLAGS}
D3DTSS_COLORARG0 = TD3DTextureStageStateType(26); { D3DTA_* third arg for triadic ops }
{$EXTERNALSYM D3DTSS_COLORARG0}
D3DTSS_ALPHAARG0 = TD3DTextureStageStateType(27); { D3DTA_* third arg for triadic ops }
{$EXTERNALSYM D3DTSS_ALPHAARG0}
D3DTSS_RESULTARG = TD3DTextureStageStateType(28); { D3DTA_* arg for result (CURRENT or TEMP) }
{$EXTERNALSYM D3DTSS_RESULTARG}
D3DTSS_CONSTANT = TD3DTextureStageStateType(32); { Per-stage constant D3DTA_CONSTANT }
{$EXTERNALSYM D3DTSS_CONSTANT}
D3DTSS_FORCE_DWORD = TD3DTextureStageStateType($7fffffff); { force 32-bit size enum }
{$EXTERNALSYM D3DTSS_FORCE_DWORD}
{$ELSE}
type
_D3DTEXTURESTAGESTATETYPE = (
D3DTSS_COLOROP = 1, { D3DTEXTUREOP - per-stage blending controls for color channels }
D3DTSS_COLORARG1 = 2, { D3DTA_* (texture arg) }
D3DTSS_COLORARG2 = 3, { D3DTA_* (texture arg) }
D3DTSS_ALPHAOP = 4, { D3DTEXTUREOP - per-stage blending controls for alpha channel }
D3DTSS_ALPHAARG1 = 5, { D3DTA_* (texture arg) }
D3DTSS_ALPHAARG2 = 6, { D3DTA_* (texture arg) }
D3DTSS_BUMPENVMAT00 = 7, { float (bump mapping matrix) }
D3DTSS_BUMPENVMAT01 = 8, { float (bump mapping matrix) }
D3DTSS_BUMPENVMAT10 = 9, { float (bump mapping matrix) }
D3DTSS_BUMPENVMAT11 = 10, { float (bump mapping matrix) }
D3DTSS_TEXCOORDINDEX = 11, { identifies which set of texture coordinates index this texture }
D3DTSS_BUMPENVLSCALE = 22, { float scale for bump map luminance }
D3DTSS_BUMPENVLOFFSET = 23, { float offset for bump map luminance }
D3DTSS_TEXTURETRANSFORMFLAGS = 24, { D3DTEXTURETRANSFORMFLAGS controls texture transform }
D3DTSS_COLORARG0 = 26, { D3DTA_* third arg for triadic ops }
D3DTSS_ALPHAARG0 = 27, { D3DTA_* third arg for triadic ops }
D3DTSS_RESULTARG = 28, { D3DTA_* arg for result (CURRENT or TEMP) }
D3DTSS_CONSTANT = 32 { Per-stage constant D3DTA_CONSTANT }
);
{$EXTERNALSYM _D3DTEXTURESTAGESTATETYPE}
D3DTEXTURESTAGESTATETYPE = _D3DTEXTURESTAGESTATETYPE;
{$EXTERNALSYM D3DTEXTURESTAGESTATETYPE}
TD3DTextureStageStateType = _D3DTEXTURESTAGESTATETYPE;
{$ENDIF}
type
(*
* State enumerants for per-sampler texture processing.
*)
_D3DSAMPLERSTATETYPE = (
{$IFNDEF COMPILER6_UP}
D3DSAMP_invalid_0 {= 0},
D3DSAMP_ADDRESSU {= 1}, { D3DTEXTUREADDRESS for U coordinate }
D3DSAMP_ADDRESSV {= 2}, { D3DTEXTUREADDRESS for V coordinate }
D3DSAMP_ADDRESSW {= 3}, { D3DTEXTUREADDRESS for W coordinate }
D3DSAMP_BORDERCOLOR {= 4}, { D3DCOLOR }
D3DSAMP_MAGFILTER {= 5}, { D3DTEXTUREFILTER filter to use for magnification }
D3DSAMP_MINFILTER {= 6}, { D3DTEXTUREFILTER filter to use for minification }
D3DSAMP_MIPFILTER {= 7}, { D3DTEXTUREFILTER filter to use between mipmaps during minification }
D3DSAMP_MIPMAPLODBIAS {= 8}, { float Mipmap LOD bias }
D3DSAMP_MAXMIPLEVEL {= 9}, { DWORD 0..(n-1) LOD index of largest map to use (0 == largest) }
D3DSAMP_MAXANISOTROPY {= 10}, { DWORD maximum anisotropy }
D3DSAMP_SRGBTEXTURE {= 11}, { Default = 0 (which means Gamma 1.0,
no correction required.) else correct for
Gamma = 2.2 }
D3DSAMP_ELEMENTINDEX {= 12}, { When multi-element texture is assigned to sampler, this
indicates which element index to use. Default = 0. }
D3DSAMP_DMAPOFFSET {= 13} { Offset in vertices in the pre-sampled displacement map.
Only valid for D3DDMAPSAMPLER sampler }
{$ELSE}
D3DSAMP_ADDRESSU = 1, { D3DTEXTUREADDRESS for U coordinate }
D3DSAMP_ADDRESSV = 2, { D3DTEXTUREADDRESS for V coordinate }
D3DSAMP_ADDRESSW = 3, { D3DTEXTUREADDRESS for W coordinate }
D3DSAMP_BORDERCOLOR = 4, { D3DCOLOR }
D3DSAMP_MAGFILTER = 5, { D3DTEXTUREFILTER filter to use for magnification }
D3DSAMP_MINFILTER = 6, { D3DTEXTUREFILTER filter to use for minification }
D3DSAMP_MIPFILTER = 7, { D3DTEXTUREFILTER filter to use between mipmaps during minification }
D3DSAMP_MIPMAPLODBIAS = 8, { float Mipmap LOD bias }
D3DSAMP_MAXMIPLEVEL = 9, { DWORD 0..(n-1) LOD index of largest map to use (0 == largest) }
D3DSAMP_MAXANISOTROPY = 10, { DWORD maximum anisotropy }
D3DSAMP_SRGBTEXTURE = 11, { Default = 0 (which means Gamma 1.0,
no correction required.) else correct for
Gamma = 2.2 }
D3DSAMP_ELEMENTINDEX = 12, { When multi-element texture is assigned to sampler, this
indicates which element index to use. Default = 0. }
D3DSAMP_DMAPOFFSET = 13 { Offset in vertices in the pre-sampled displacement map.
Only valid for D3DDMAPSAMPLER sampler }
{$ENDIF}
);
{$EXTERNALSYM _D3DSAMPLERSTATETYPE}
D3DSAMPLERSTATETYPE = _D3DSAMPLERSTATETYPE;
{$EXTERNALSYM D3DSAMPLERSTATETYPE}
TD3DSamplerStateType = _D3DSAMPLERSTATETYPE;
const
{ Special sampler which is used in the tesselator }
D3DDMAPSAMPLER = 256;
{$EXTERNALSYM D3DDMAPSAMPLER}
// Samplers used in vertex shaders
D3DVERTEXTEXTURESAMPLER0 = (D3DDMAPSAMPLER+1);
{$EXTERNALSYM D3DVERTEXTEXTURESAMPLER0}
D3DVERTEXTEXTURESAMPLER1 = (D3DDMAPSAMPLER+2);
{$EXTERNALSYM D3DVERTEXTEXTURESAMPLER1}
D3DVERTEXTEXTURESAMPLER2 = (D3DDMAPSAMPLER+3);
{$EXTERNALSYM D3DVERTEXTEXTURESAMPLER2}
D3DVERTEXTEXTURESAMPLER3 = (D3DDMAPSAMPLER+4);
{$EXTERNALSYM D3DVERTEXTEXTURESAMPLER3}
// Values, used with D3DTSS_TEXCOORDINDEX, to specify that the vertex data(position
// and normal in the camera space) should be taken as texture coordinates
// Low 16 bits are used to specify texture coordinate index, to take the WRAP mode from
//
D3DTSS_TCI_PASSTHRU = $00000000;
{$EXTERNALSYM D3DTSS_TCI_PASSTHRU}
D3DTSS_TCI_CAMERASPACENORMAL = $00010000;
{$EXTERNALSYM D3DTSS_TCI_CAMERASPACENORMAL}
D3DTSS_TCI_CAMERASPACEPOSITION = $00020000;
{$EXTERNALSYM D3DTSS_TCI_CAMERASPACEPOSITION}
D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR = $00030000;
{$EXTERNALSYM D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR}
D3DTSS_TCI_SPHEREMAP = $00040000;
{$EXTERNALSYM D3DTSS_TCI_SPHEREMAP}
(*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -