⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 direct3d9.pas.svn-base

📁 这是一段游戏修改工具的源代码.ring3功能由dephi开发,驱动是C开发.希望对大家有帮助
💻 SVN-BASE
📖 第 1 页 / 共 5 页
字号:
    D3DDECLMETHOD_UV               = 4{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DDECLMETHOD_LOOKUP           = 5{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // Lookup a displacement map    D3DDECLMETHOD_LOOKUPPRESAMPLED = 6{$IFNDEF NOENUMS}){$ENDIF};        // Lookup a pre-sampled displacement map{$MINENUMSIZE 4}const  MAXD3DDECLMETHOD = D3DDECLMETHOD_LOOKUPPRESAMPLED;// Declarations for _Type fields//{$MINENUMSIZE 1}type  TD3DDeclType = {$IFNDEF NOENUMS}({$ELSE}Byte;{$ENDIF}{$IFDEF NOENUMS}const{$ENDIF}    D3DDECLTYPE_FLOAT1    =  0{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  // 1D float expanded to (value{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} 0.{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} 0.{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} 1.)    D3DDECLTYPE_FLOAT2    =  1{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  // 2D float expanded to (value{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} value{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} 0.{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} 1.)    D3DDECLTYPE_FLOAT3    =  2{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  // 3D float expanded to (value{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} value{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} value{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} 1.)    D3DDECLTYPE_FLOAT4    =  3{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  // 4D float    D3DDECLTYPE_D3DCOLOR  =  4{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  // 4D packed unsigned bytes mapped to 0. to 1. range                                                                  // Input is in D3DCOLOR format (ARGB) expanded to (R{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} G{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} B{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} A)    D3DDECLTYPE_UBYTE4    =  5{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  // 4D unsigned byte    D3DDECLTYPE_SHORT2    =  6{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  // 2D signed short expanded to (value{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} value{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} 0.{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} 1.)    D3DDECLTYPE_SHORT4    =  7{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  // 4D signed short    // The following types are valid only with vertex shaders >= 2.0    D3DDECLTYPE_UBYTE4N   =  8{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  // Each of 4 bytes is normalized by dividing to 255.0    D3DDECLTYPE_SHORT2N   =  9{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  // 2D signed short normalized (v[0]/32767.0{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}v[1]/32767.0{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}0{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}1)    D3DDECLTYPE_SHORT4N   = 10{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  // 4D signed short normalized (v[0]/32767.0{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}v[1]/32767.0{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}v[2]/32767.0{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}v[3]/32767.0)    D3DDECLTYPE_USHORT2N  = 11{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  // 2D unsigned short normalized (v[0]/65535.0{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}v[1]/65535.0{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}0{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}1)    D3DDECLTYPE_USHORT4N  = 12{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  // 4D unsigned short normalized (v[0]/65535.0{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}v[1]/65535.0{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}v[2]/65535.0{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}v[3]/65535.0)    D3DDECLTYPE_UDEC3     = 13{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  // 3D unsigned 10 10 10 format expanded to (value{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} value{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} value{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} 1)    D3DDECLTYPE_DEC3N     = 14{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  // 3D signed 10 10 10 format normalized and expanded to (v[0]/511.0{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} v[1]/511.0{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} v[2]/511.0{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} 1)    D3DDECLTYPE_FLOAT16_2 = 15{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  // Two 16-bit floating point values{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} expanded to (value{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} value{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} 0{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} 1)    D3DDECLTYPE_FLOAT16_4 = 16{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  // Four 16-bit floating point values    D3DDECLTYPE_UNUSED    = 17{$IFNDEF NOENUMS}){$ENDIF};         // When the type field in a decl is unused.{$MINENUMSIZE 4}const  MAXD3DDECLTYPE = D3DDECLTYPE_UNUSED;type  PD3DVertexElement9 = ^TD3DVertexElement9;  TD3DVertexElement9 = packed record    Stream     : Word;  // Stream index    Offset     : Word;  // Offset in the stream in bytes    _Type      : TD3DDeclType;    // Data type    Method     : TD3DDeclMethod;  // Processing method    Usage      : TD3DDeclUsage;   // Semantics    UsageIndex : Byte;  // Semantic index  end;// This is used to initialize the last vertex element in a vertex declaration// array//const  D3DDECL_END : TD3DVertexElement9 = (Stream : $FF; Offset : 0; _Type : D3DDECLTYPE_UNUSED; Method : D3DDECLMETHOD_DEFAULT; Usage : D3DDECLUSAGE_POSITION; UsageIndex : 0);// Maximum supported number of texture coordinate setsconst  D3DDP_MAXTEXCOORD = 8;//---------------------------------------------------------------------//// The internal format of Pixel Shader (PS) & Vertex Shader (VS)// Instruction Tokens is defined in the Direct3D Device Driver Kit////---------------------------------------------------------------------//// Instruction Token Bit Definitions//const  D3DSI_OPCODE_MASK       = $0000FFFF;  D3DSI_INSTLENGTH_MASK   = $0F000000;  D3DSI_INSTLENGTH_SHIFT  = 24;type  TD3DShaderInstructionOpcodeType = {$IFNDEF NOENUMS}({$ELSE}LongWord;{$ENDIF}{$IFDEF NOENUMS}const{$ENDIF}    D3DSIO_NOP          = 00{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_MOV          = 01{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_ADD          = 02{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_SUB          = 03{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_MAD          = 04{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_MUL          = 05{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_RCP          = 06{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_RSQ          = 07{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_DP3          = 08{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_DP4          = 09{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_MIN          = 10{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_MAX          = 11{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_SLT          = 12{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_SGE          = 13{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_EXP          = 14{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_LOG          = 15{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_LIT          = 16{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_DST          = 17{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_LRP          = 18{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_FRC          = 19{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_M4x4         = 20{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_M4x3         = 21{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_M3x4         = 22{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_M3x3         = 23{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_M3x2         = 24{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_CALL         = 25{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_CALLNZ       = 26{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_LOOP         = 27{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_RET          = 28{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_ENDLOOP      = 29{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_LABEL        = 30{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_DCL          = 31{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_POW          = 32{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_CRS          = 33{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_SGN          = 34{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_ABS          = 35{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_NRM          = 36{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_SINCOS       = 37{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_REP          = 38{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_ENDREP       = 39{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_IF           = 40{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_IFC          = 41{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_ELSE         = 42{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_ENDIF        = 43{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_BREAK        = 44{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_BREAKC       = 45{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_MOVA         = 46{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_DEFB         = 47{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_DEFI         = 48{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_TEXCOORD     = 64{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_TEXKILL      = 65{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_TEX          = 66{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_TEXBEM       = 67{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_TEXBEML      = 68{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_TEXREG2AR    = 69{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_TEXREG2GB    = 70{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_TEXM3x2PAD   = 71{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_TEXM3x2TEX   = 72{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_TEXM3x3PAD   = 73{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_TEXM3x3TEX   = 74{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_RESERVED0    = 75{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_TEXM3x3SPEC  = 76{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_TEXM3x3VSPEC = 77{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_EXPP         = 78{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_LOGP         = 79{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_CND          = 80{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_DEF          = 81{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_TEXREG2RGB   = 82{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_TEXDP3TEX    = 83{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_TEXM3x2DEPTH = 84{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_TEXDP3       = 85{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_TEXM3x3      = 86{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_TEXDEPTH     = 87{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_CMP          = 88{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_BEM          = 89{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_DP2ADD       = 90{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_DSX          = 91{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_DSY          = 92{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_TEXLDD       = 93{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_SETP         = 94{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_TEXLDL       = 95{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_BREAKP       = 96{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_PHASE        = $FFFD{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_COMMENT      = $FFFE{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DSIO_END          = $FFFF{$IFNDEF NOENUMS}){$ENDIF};type  TD3DShader_Instruction_Opcode_Type = TD3DShaderInstructionOpcodeType;//---------------------------------------------------------------------// Use these constants with D3DSIO_SINCOS macro as SRC2, SRC3//const  D3DSINCOSCONST1 : array[0..3] of Single = (-1.5500992e-006, -2.1701389e-005,  0.0026041667, 0.00026041668);  D3DSINCOSCONST2 : array[0..3] of Single = (-0.020833334, -0.12500000, 1.0, 0.50000000);//---------------------------------------------------------------------// Co-Issue Instruction Modifier - if set then this instruction is to be// issued in parallel with the previous instruction(s) for which this bit// is not set.//const  D3DSI_COISSUE = $40000000;//---------------------------------------------------------------------// Opcode specific controlsconst  D3DSP_OPCODESPECIFICCONTROL_MASK  = $00ff0000;  D3DSP_OPCODESPECIFICCONTROL_SHIFT = 16;// ps_2_0 texld controls   D3DSI_TEXLD_PROJECT  = ($01 shl D3DSP_OPCODESPECIFICCONTROL_SHIFT);   D3DSI_TEXLD_BIAS     = ($02 shl D3DSP_OPCODESPECIFICCONTROL_SHIFT);{$MINENUMSIZE 1}type  TD3DShaderComparison = {$IFNDEF NOENUMS}({$ELSE}Byte;{$ENDIF}{$IFDEF NOENUMS}const{$ENDIF}                              // < = >    D3DSPC_RESERVED0 = 0{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // 0 0 0    D3DSPC_GT        = 1{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // 0 0 1    D3DSPC_EQ        = 2{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // 0 1 0    D3DSPC_GE        = 3{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // 0 1 1    D3DSPC_LT        = 4{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // 1 0 0    D3DSPC_NE        = 5{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // 1 0 1    D3DSPC_LE        = 6{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // 1 1 0    D3DSPC_RESERVED1 = 7{$IFNDEF NOENUMS}){$ENDIF};        // 1 1 1{$MINENUMSIZE 4}type TD3DShader_Comparison = TD3DShaderComparison;const// Comparison is part of instruction opcode token:  D3DSHADER_COMPARISON_SHIFT = D3DSP_OPCODESPECIFICCONTROL_SHIFT;  D3DSHADER_COMPARISON_MASK  = ($7 shl D3DSHADER_COMPARISON_SHIFT);//---------------------------------------------------------------------// Predication flags on instruction token  D3DSHADER_INSTRUCTION_PREDICATED = ($1 shl 28);//---------------------------------------------------------------------// DCL Info Token Controlsconst// For dcl info tokens requiring a semantic (usage + index)  D3DSP_DCL_USAGE_SHIFT = 0;  D3DSP_DCL_USAGE_MASK  = $0000000F;  D3DSP_DCL_USAGEINDEX_SHIFT = 16;  D3DSP_DCL_USAGEINDEX_MASK  = $000F0000;const// DCL pixel shader sampler info token.  D3DSP_TEXTURETYPE_SHIFT = 27;  D3DSP_TEXTURETYPE_MASK  = $78000000;type  TD3DSamplerTextureType = {$IFNDEF NOENUMS}({$ELSE}LongWord;{$ENDIF}{$IFDEF NOENUMS}const{$ENDIF}    D3DSTT_UNKNOWN     = 0 shl D3DSP_TEXTURETYPE_SHIFT{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // uninitialized value    D3DSTT_2D          = 2 shl D3DSP_TEXTURETYPE_SHIFT{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // dcl_2d s# (for declaring a 2-D texture)    D3DSTT_CUBE        = 3 shl D3DSP_TEXTURETYPE_SHIFT{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // dcl_cube s# (for declaring a cube texture)    D3DSTT_VOLUME      = 4 shl D3DSP_TEXTURETYPE_SHIFT{$IFNDEF NOENUMS}){$ENDIF};        // dcl_volume s# (for declaring a volume texture)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -