📄 directxgraphics.pas.svn-base
字号:
// is not set.const D3DSI_COISSUE = $40000000;//// Parameter Token Bit Definitions//{$IFDEF DX8} D3DSP_REGNUM_MASK = $00000FFF;{$ELSE} D3DSP_REGNUM_MASK = $00001FFF;{$ENDIF}// destination parameter write mask D3DSP_WRITEMASK_0 = $00010000; // Component 0 (X;Red) D3DSP_WRITEMASK_1 = $00020000; // Component 1 (Y;Green) D3DSP_WRITEMASK_2 = $00040000; // Component 2 (Z;Blue) D3DSP_WRITEMASK_3 = $00080000; // Component 3 (W;Alpha) D3DSP_WRITEMASK_ALL = $000F0000; // All Components// destination parameter modifiers D3DSP_DSTMOD_SHIFT = 20; D3DSP_DSTMOD_MASK = $00F00000;type TD3DShaderParamDSTModType = {$IFNDEF NOENUMS}({$ELSE}LongWord;{$ENDIF}{$IFDEF NOENUMS}const{$ENDIF} D3DSPDM_NONE = 0 shl D3DSP_DSTMOD_SHIFT{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // nop D3DSPDM_SATURATE = 1 shl D3DSP_DSTMOD_SHIFT{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // clamp to 0. to 1. range// destination parameter D3DSP_DSTSHIFT_SHIFT = 24{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} D3DSP_DSTSHIFT_MASK = $0F000000{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}// destination/source parameter register type D3DSP_REGTYPE_SHIFT = 28{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} D3DSP_REGTYPE_MASK = $70000000{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} D3DSPDM_FORCE_DWORD = $7fffffff{$IFNDEF NOENUMS}){$ENDIF}; // force 32-bit size enumtype TD3DShader_Param_DSTMod_Type = TD3DShaderParamDSTModType;type TD3DShaderParamRegisterType = {$IFNDEF NOENUMS}({$ELSE}LongWord;{$ENDIF}{$IFDEF NOENUMS}const{$ENDIF} D3DSPR_TEMP = 0 shl LongWord(D3DSP_REGTYPE_SHIFT){$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // Temporary Register File D3DSPR_INPUT = 1 shl LongWord(D3DSP_REGTYPE_SHIFT){$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // Input Register File D3DSPR_CONST = 2 shl LongWord(D3DSP_REGTYPE_SHIFT){$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // Constant Register File D3DSPR_ADDR = 3 shl LongWord(D3DSP_REGTYPE_SHIFT){$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // Address Register (VS) D3DSPR_TEXTURE = 3 shl LongWord(D3DSP_REGTYPE_SHIFT){$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // Texture Register File (PS) D3DSPR_RASTOUT = 4 shl LongWord(D3DSP_REGTYPE_SHIFT){$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // Rasterizer Register File D3DSPR_ATTROUT = 5 shl LongWord(D3DSP_REGTYPE_SHIFT){$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // Attribute Output Register File D3DSPR_TEXCRDOUT = 6 shl LongWord(D3DSP_REGTYPE_SHIFT){$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // Texture Coordinate Output Register File D3DSPR_FORCE_DWORD = $7fffffff{$IFNDEF NOENUMS}){$ENDIF}; // force 32-bit size enumtype TD3DShader_Param_Register_Type = TD3DShaderParamRegisterType;// Register offsets in the Rasterizer Register Filetype TD3DVSRastOutOffsets = {$IFNDEF NOENUMS}({$ELSE}LongWord;{$ENDIF}{$IFDEF NOENUMS}const{$ENDIF} D3DSRO_POSITION = 0{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} D3DSRO_FOG = 1{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} D3DSRO_POINT_SIZE = 2{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} D3DSRO_FORCE_DWORD = $7fffffff{$IFNDEF NOENUMS}){$ENDIF}; // force 32-bit size enumtype TD3DVS_RastOut_Offsets = TD3DVSRastOutOffsets;// Source operand addressing modesconst D3DVS_ADDRESSMODE_SHIFT = 13; D3DVS_ADDRESSMODE_MASK = 1 shl D3DVS_ADDRESSMODE_SHIFT;type TD3DVSAddressModeType = {$IFNDEF NOENUMS}({$ELSE}LongWord;{$ENDIF}{$IFDEF NOENUMS}const{$ENDIF} D3DVS_ADDRMODE_ABSOLUTE = 0 shl D3DVS_ADDRESSMODE_SHIFT{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} D3DVS_ADDRMODE_RELATIVE = 1 shl D3DVS_ADDRESSMODE_SHIFT{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // Relative to register A0 D3DVS_ADDRMODE_FORCE_DWORD = $7fffffff{$IFNDEF NOENUMS}){$ENDIF}; // force 32-bit size enumtype TD3DVS_AddressMode_Type = TD3DVSAddressModeType;const // Source operand swizzle definitions// D3DVS_SWIZZLE_SHIFT = 16; D3DVS_SWIZZLE_MASK = $00FF0000;// The following bits define where to take component X from: D3DVS_X_X = 0 shl D3DVS_SWIZZLE_SHIFT; D3DVS_X_Y = 1 shl D3DVS_SWIZZLE_SHIFT; D3DVS_X_Z = 2 shl D3DVS_SWIZZLE_SHIFT; D3DVS_X_W = 3 shl D3DVS_SWIZZLE_SHIFT;// The following bits define where to take component Y from: D3DVS_Y_X = 0 shl (D3DVS_SWIZZLE_SHIFT + 2); D3DVS_Y_Y = 1 shl (D3DVS_SWIZZLE_SHIFT + 2); D3DVS_Y_Z = 2 shl (D3DVS_SWIZZLE_SHIFT + 2); D3DVS_Y_W = 3 shl (D3DVS_SWIZZLE_SHIFT + 2);// The following bits define where to take component Z from: D3DVS_Z_X = 0 shl (D3DVS_SWIZZLE_SHIFT + 4); D3DVS_Z_Y = 1 shl (D3DVS_SWIZZLE_SHIFT + 4); D3DVS_Z_Z = 2 shl (D3DVS_SWIZZLE_SHIFT + 4); D3DVS_Z_W = 3 shl (D3DVS_SWIZZLE_SHIFT + 4);// The following bits define where to take component W from: D3DVS_W_X = 0 shl (D3DVS_SWIZZLE_SHIFT + 6); D3DVS_W_Y = 1 shl (D3DVS_SWIZZLE_SHIFT + 6); D3DVS_W_Z = 2 shl (D3DVS_SWIZZLE_SHIFT + 6); D3DVS_W_W = 3 shl (D3DVS_SWIZZLE_SHIFT + 6);// Value when there is no swizzle (X is taken from X; Y is taken from Y;// Z is taken from Z; W is taken from W// D3DVS_NOSWIZZLE = D3DVS_X_X or D3DVS_Y_Y or D3DVS_Z_Z or D3DVS_W_W;// source parameter swizzle D3DSP_SWIZZLE_SHIFT = 16; D3DSP_SWIZZLE_MASK = $00FF0000; D3DSP_NOSWIZZLE = (0 shl (D3DSP_SWIZZLE_SHIFT + 0)) or (1 shl (D3DSP_SWIZZLE_SHIFT + 2)) or (2 shl (D3DSP_SWIZZLE_SHIFT + 4)) or (3 shl (D3DSP_SWIZZLE_SHIFT + 6));// pixel-shader swizzle ops{$IFNDEF DX8} D3DSP_REPLICATERED = (0 shl (D3DSP_SWIZZLE_SHIFT + 0)) or (0 shl (D3DSP_SWIZZLE_SHIFT + 2)) or (0 shl (D3DSP_SWIZZLE_SHIFT + 4)) or (0 shl (D3DSP_SWIZZLE_SHIFT + 6)); D3DSP_REPLICATEGREEN = (1 shl (D3DSP_SWIZZLE_SHIFT + 0)) or (1 shl (D3DSP_SWIZZLE_SHIFT + 2)) or (1 shl (D3DSP_SWIZZLE_SHIFT + 4)) or (1 shl (D3DSP_SWIZZLE_SHIFT + 6)); D3DSP_REPLICATEBLUE = (2 shl (D3DSP_SWIZZLE_SHIFT + 0)) or (2 shl (D3DSP_SWIZZLE_SHIFT + 2)) or (2 shl (D3DSP_SWIZZLE_SHIFT + 4)) or (2 shl (D3DSP_SWIZZLE_SHIFT + 6));{$ENDIF} D3DSP_REPLICATEALPHA = (3 shl (D3DSP_SWIZZLE_SHIFT + 0)) or (3 shl (D3DSP_SWIZZLE_SHIFT + 2)) or (3 shl (D3DSP_SWIZZLE_SHIFT + 4)) or (3 shl (D3DSP_SWIZZLE_SHIFT + 6));// source parameter modifiers D3DSP_SRCMOD_SHIFT = 24; D3DSP_SRCMOD_MASK = $0F000000;type TD3DShaderParamSRCModType = {$IFNDEF NOENUMS}({$ELSE}LongWord;{$ENDIF}{$IFDEF NOENUMS}const{$ENDIF} D3DSPSM_NONE = 0 shl D3DSP_SRCMOD_SHIFT{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // nop D3DSPSM_NEG = 1 shl D3DSP_SRCMOD_SHIFT{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // negate D3DSPSM_BIAS = 2 shl D3DSP_SRCMOD_SHIFT{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // bias D3DSPSM_BIASNEG = 3 shl D3DSP_SRCMOD_SHIFT{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // bias and negate D3DSPSM_SIGN = 4 shl D3DSP_SRCMOD_SHIFT{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // sign D3DSPSM_SIGNNEG = 5 shl D3DSP_SRCMOD_SHIFT{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // sign and negate D3DSPSM_COMP = 6 shl D3DSP_SRCMOD_SHIFT{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // complement{$IFNDEF DX8} D3DSPSM_X2 = 7 shl D3DSP_SRCMOD_SHIFT{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // *2 D3DSPSM_X2NEG = 8 shl D3DSP_SRCMOD_SHIFT{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // *2 and negate D3DSPSM_DZ = 9 shl D3DSP_SRCMOD_SHIFT{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // divide through by z component D3DSPSM_DW = 10 shl D3DSP_SRCMOD_SHIFT{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // divide through by w component{$ENDIF} D3DSPSM_FORCE_DWORD = $7fffffff{$IFNDEF NOENUMS}){$ENDIF}; // force 32-bit size enumtype TD3DShader_Param_SRCMod_Type = TD3DShaderParamSRCModType;// pixel shader version token function D3DPS_VERSION(_Major, _Minor : LongWord) : LongWord;// vertex shader version token function D3DVS_VERSION(_Major, _Minor : LongWord) : LongWord;// extract major/minor from version cap function D3DSHADER_VERSION_MAJOR(_Version : LongWord) : LongWord; function D3DSHADER_VERSION_MINOR(_Version : LongWord) : LongWord;// destination/source parameter register typeconst D3DSI_COMMENTSIZE_SHIFT = 16; D3DSI_COMMENTSIZE_MASK = $7FFF0000; function D3DSHADER_COMMENT(_DWordSize : LongWord) : LongWord;// pixel/vertex shader end tokenconst D3DPS_END = $0000FFFF; D3DVS_END = $0000FFFF;//---------------------------------------------------------------------// High order surfaces//type TD3DBasisType = {$IFNDEF NOENUMS}({$ELSE}LongWord;{$ENDIF}{$IFDEF NOENUMS}const{$ENDIF} D3DBASIS_BEZIER = 0{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} D3DBASIS_BSPLINE = 1{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} D3DBASIS_INTERPOLATE = 2{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} D3DBASIS_FORCE_DWORD = $7fffffff{$IFNDEF NOENUMS}){$ENDIF};type TD3DOrderType = {$IFNDEF NOENUMS}({$ELSE}LongWord;{$ENDIF}{$IFDEF NOENUMS}const{$ENDIF} D3DORDER_LINEAR = 1{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}{$IFNDEF DX8} D3DORDER_QUADRATIC = 2{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}{$ENDIF} D3DORDER_CUBIC = 3{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} D3DORDER_QUINTIC = 5{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} D3DORDER_FORCE_DWORD = $7fffffff{$IFNDEF NOENUMS}){$ENDIF};type TD3DPatchEdgeStyle = {$IFNDEF NOENUMS}({$ELSE}LongWord;{$ENDIF}{$IFDEF NOENUMS}const{$ENDIF} D3DPATCHEDGE_DISCRETE = 0{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} D3DPATCHEDGE_CONTINUOUS = 1{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} D3DPATCHEDGE_FORCE_DWORD = $7fffffff{$IFNDEF NOENUMS}){$ENDIF};type TD3DStateBlockType = {$IFNDEF NOENUMS}({$ELSE}LongWord;{$ENDIF}{$IFDEF NOENUMS}const{$ENDIF} D3DSBT_ALL = 1{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // capture all state D3DSBT_PIXELSTATE = 2{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // capture pixel state D3DSBT_VERTEXSTATE = 3{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // capture vertex state D3DSBT_FORCE_DWORD = $7fffffff{$IFNDEF NOENUMS}){$ENDIF};// The D3DVERTEXBLENDFLAGS type is used with D3DRS_VERTEXBLEND state.//type TD3DVertexBlendFlags = {$IFNDEF NOENUMS}({$ELSE}LongWord;{$ENDIF}{$IFDEF NOENUMS}const{$ENDIF} D3DVBF_DISABLE = 0{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // Disable vertex blending D3DVBF_1WEIGHTS = 1{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // 2 matrix blending D3DVBF_2WEIGHTS = 2{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // 3 matrix blending D3DVBF_3WEIGHTS = 3{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // 4 matrix blending D3DVBF_TWEENING = 255{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // blending using D3DRS_TWEENFACTOR D3DVBF_0WEIGHTS = 256{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // one matrix is used with weight 1.0 D3DVBF_FORCE_DWORD = $7fffffff{$IFNDEF NOENUMS}){$ENDIF}; // force 32-bit size enumtype TD3DTextureTransformFlags = {$IFNDEF NOENUMS}({$ELSE}LongWord;{$ENDIF}{$IFDEF NOENUMS}const{$ENDIF} D3DTTFF_DISABLE = 0{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // texture coordinates are passed directly D3DTTFF_COUNT1 = 1{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // rasterizer should expect 1-D texture coords D3DTTFF_COUNT2 = 2{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // rasterizer should expect 2-D texture coords D3DTTFF_COUNT3 = 3{$
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -