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

📄 directxgraphics.pas.svn-base

📁 这是一段游戏修改工具的源代码.ring3功能由dephi开发,驱动是C开发.希望对大家有帮助
💻 SVN-BASE
📖 第 1 页 / 共 5 页
字号:
      [23:20] vertex register address (0..15)      [19:16] type (dimensionality)      [15:04] = $0      [03:00] vertex register address (0..15)Constant Memory from Shader (multiple DWORD token)    [31:29] = $4    [28:25] count of 4*DWORD constants to load (0..15)    [24:07] = $0    [06:00] constant memory address (0..95)Extension Token (single or multiple DWORD token)    [31:29] = $5    [28:24] count of additional DWORDs in token (0..31)    [23:00] extension-specific informationEnd-of-array token (single DWORD token)    [31:29] = $7    [28:00] = $1fffffffThe stream selector token must be immediately followed by a contiguous set of stream data definition tokens.  This token sequence fully defines that stream; including the set of elements within the stream; the order in which the elements appear; the type of each element; and the vertex register into which to load an element.Streams are allowed to include data which is not loaded into a vertex register; thus allowing data which is not used for this shader to exist in the vertex stream.  This skipped data is defined only by a count of DWORDs to skip over; since the type information is irrelevant.The token sequence:Stream Select: stream=0Stream Data Definition (Load): type=FLOAT3; register=3Stream Data Definition (Load): type=FLOAT3; register=4Stream Data Definition (Skip): count=2Stream Data Definition (Load): type=FLOAT2; register=7defines stream zero to consist of 4 elements; 3 of which are loaded into registers and the fourth skipped over.  Register 3 is loaded with the first three DWORDs in each vertex interpreted as FLOAT data.  Register 4 is loaded with the 4th; 5th; and 6th DWORDs interpreted as FLOAT data.  The next two DWORDs (7th and 8th) are skipped over and not loaded into any vertex input register.   Register 7 is loaded with the 9th and 10th DWORDS interpreted as FLOAT data.Placing of tokens other than NOPs between the Stream Selector and Stream Data Definition tokens is disallowed.*)type TD3DVSDTokenType = {$IFNDEF NOENUMS}({$ELSE}LongWord;{$ENDIF}{$IFDEF NOENUMS}const{$ENDIF}       D3DVSD_TOKEN_NOP         = 0{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    // NOP or extension       D3DVSD_TOKEN_STREAM      = 1{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    // stream selector       D3DVSD_TOKEN_STREAMDATA  = 2{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    // stream data definition (map to vertex input memory)       D3DVSD_TOKEN_TESSELLATOR = 3{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    // vertex input memory from tessellator       D3DVSD_TOKEN_CONSTMEM    = 4{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    // constant memory from shader       D3DVSD_TOKEN_EXT         = 5{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    // extension       D3DVSD_TOKEN_END         = 7{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    // end-of-array (requires all DWORD bits to be 1)       D3DVSD_TOKENTYPESHIFT    = 29{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}       D3DVSD_TOKENTYPEMASK     = 7 shl D3DVSD_TOKENTYPESHIFT{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}       D3DVSD_STREAMNUMBERSHIFT = 0{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}       D3DVSD_STREAMNUMBERMASK  = $F shl D3DVSD_STREAMNUMBERSHIFT{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}       D3DVSD_DATALOADTYPESHIFT = 28{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}       D3DVSD_DATALOADTYPEMASK  = $1 shl D3DVSD_DATALOADTYPESHIFT{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}       D3DVSD_DATATYPESHIFT     = 16{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}       D3DVSD_DATATYPEMASK      = $F shl D3DVSD_DATATYPESHIFT{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}       D3DVSD_SKIPCOUNTSHIFT    = 16{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}       D3DVSD_SKIPCOUNTMASK     = $F shl D3DVSD_SKIPCOUNTSHIFT{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}       D3DVSD_VERTEXREGSHIFT    = 0{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}       D3DVSD_VERTEXREGMASK     = $1F shl D3DVSD_VERTEXREGSHIFT{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}       D3DVSD_VERTEXREGINSHIFT  = 20{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}       D3DVSD_VERTEXREGINMASK   = $F shl D3DVSD_VERTEXREGINSHIFT{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}       D3DVSD_CONSTCOUNTSHIFT   = 25{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}       D3DVSD_CONSTCOUNTMASK    = $F shl D3DVSD_CONSTCOUNTSHIFT{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}       D3DVSD_CONSTADDRESSSHIFT = 0{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}       D3DVSD_CONSTADDRESSMASK  = $7F shl D3DVSD_CONSTADDRESSSHIFT{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}       D3DVSD_CONSTRSSHIFT      = 16{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}       D3DVSD_CONSTRSMASK       = $1FFF shl D3DVSD_CONSTRSSHIFT{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}       D3DVSD_EXTCOUNTSHIFT     = 24{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}       D3DVSD_EXTCOUNTMASK      = $1F shl D3DVSD_EXTCOUNTSHIFT{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}       D3DVSD_EXTINFOSHIFT      = 0{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}       D3DVSD_EXTINFOMASK       = $FFFFFF shl D3DVSD_EXTINFOSHIFT{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}       // Set tessellator stream       D3DVSD_STREAMTESSSHIFT   = 28{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}       D3DVSD_STREAMTESSMASK    = 1 shl D3DVSD_STREAMTESSSHIFT{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}       D3DVSD_STREAM_TESS       = ((D3DVSD_TOKEN_STREAM shl D3DVSD_TOKENTYPESHIFT) and D3DVSD_TOKENTYPEMASK) or D3DVSD_STREAMTESSMASK{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}       D3DVSD_FORCE_DWORD       = $7fffffff{$IFNDEF NOENUMS}){$ENDIF};   // force 32-bit size enum  function D3DVSD_MAKETOKENTYPE(tokenType : TD3DVSDTokenType) : TD3DVSDTokenType;// macros for generation of CreateVertexShader Declaration token array// Set current stream// _StreamNumber [0..(MaxStreams-1)] stream to get data from//  function D3DVSD_STREAM(_StreamNumber : LongWord) : TD3DVSDTokenType;type TD3DVSD_TokenType = TD3DVSDTokenType;// bind single vertex register to vertex element from vertex stream//// _VertexRegister [0..15] address of the vertex register// _Type [D3DVSDT_*] dimensionality and arithmetic data type  function D3DVSD_REG( _VertexRegister, _Type : LongWord) : TD3DVSDTokenType;// Skip _DWORDCount DWORDs in vertex//  function D3DVSD_SKIP(_DWORDCount : LongWord) : TD3DVSDTokenType;// load data into vertex shader constant memory//// _ConstantAddress [0..95] - address of constant array to begin filling data// _Count [0..15] - number of constant vectors to load (4 DWORDs each)// followed by 4*_Count DWORDS of data//  function D3DVSD_CONST( _ConstantAddress, _Count : LongWord) : TD3DVSDTokenType;// enable tessellator generated normals//// _VertexRegisterIn  [0..15] address of vertex register whose input stream//                            will be used in normal computation// _VertexRegisterOut [0..15] address of vertex register to output the normal to//  function D3DVSD_TESSNORMAL( _VertexRegisterIn, _VertexRegisterOut : LongWord) : TD3DVSDTokenType;// enable tessellator generated surface parameters//// _VertexRegister [0..15] address of vertex register to output parameters//  function D3DVSD_TESSUV( _VertexRegister : LongWord) : TD3DVSDTokenType;// Generates END token//const  D3DVSD_END = $FFFFFFFF;// Generates NOP token  D3DVSD_NOP = $00000000;// bit declarations for _Type fields  D3DVSDT_FLOAT1      = $00;    // 1D float expanded to (value; 0.; 0.; 1.)  D3DVSDT_FLOAT2      = $01;    // 2D float expanded to (value; value; 0.; 1.)  D3DVSDT_FLOAT3      = $02;    // 3D float expanded to (value; value; value; 1.)  D3DVSDT_FLOAT4      = $03;    // 4D float  D3DVSDT_D3DCOLOR    = $04;    // 4D packed unsigned bytes mapped to 0. to 1. range                                    // Input is in D3DCOLOR format (ARGB) expanded to (R; G; B; A)  D3DVSDT_UBYTE4      = $05;    // 4D unsigned byte  D3DVSDT_SHORT2      = $06;    // 2D signed short expanded to (value; value; 0.; 1.)  D3DVSDT_SHORT4      = $07;    // 4D signed short// assignments of vertex input registers for fixed function vertex shader//  D3DVSDE_POSITION      = 0;  D3DVSDE_BLENDWEIGHT   = 1;  D3DVSDE_BLENDINDICES  = 2;  D3DVSDE_NORMAL        = 3;  D3DVSDE_PSIZE         = 4;  D3DVSDE_DIFFUSE       = 5;  D3DVSDE_SPECULAR      = 6;  D3DVSDE_TEXCOORD0     = 7;  D3DVSDE_TEXCOORD1     = 8;  D3DVSDE_TEXCOORD2     = 9;  D3DVSDE_TEXCOORD3     = 10;  D3DVSDE_TEXCOORD4     = 11;  D3DVSDE_TEXCOORD5     = 12;  D3DVSDE_TEXCOORD6     = 13;  D3DVSDE_TEXCOORD7     = 14;  D3DVSDE_POSITION2     = 15;  D3DVSDE_NORMAL2       = 16;// Maximum supported number of texture coordinate sets  D3DDP_MAXTEXCOORD = 8;//// Instruction Token Bit Definitions//  D3DSI_OPCODE_MASK       = $0000FFFF;type  TD3DShaderInstructionOpcodeType = {$IFNDEF NOENUMS}({$ELSE}LongWord;{$ENDIF}{$IFDEF NOENUMS}const{$ENDIF}  D3DSIO_NOP          = 0{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}      // PS/VS  D3DSIO_MOV          = 1{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}      // PS/VS  D3DSIO_ADD          = 2{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}      // PS/VS  D3DSIO_SUB          = 3{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}      // PS  D3DSIO_MAD          = 4{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}      // PS/VS  D3DSIO_MUL          = 5{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}      // PS/VS  D3DSIO_RCP          = 6{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}      // VS  D3DSIO_RSQ          = 7{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}      // VS  D3DSIO_DP3          = 8{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}      // PS/VS  D3DSIO_DP4          = 9{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}      // PS/VS  D3DSIO_MIN          = 10{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // VS  D3DSIO_MAX          = 11{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // VS  D3DSIO_SLT          = 12{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // VS  D3DSIO_SGE          = 13{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // VS  D3DSIO_EXP          = 14{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // VS  D3DSIO_LOG          = 15{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // VS  D3DSIO_LIT          = 16{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // VS  D3DSIO_DST          = 17{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // VS  D3DSIO_LRP          = 18{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // PS  D3DSIO_FRC          = 19{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // VS  D3DSIO_M4x4         = 20{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // VS  D3DSIO_M4x3         = 21{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // VS  D3DSIO_M3x4         = 22{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // VS  D3DSIO_M3x3         = 23{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // VS  D3DSIO_M3x2         = 24{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // VS  D3DSIO_TEXCOORD     = 64{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // PS  D3DSIO_TEXKILL      = 65{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // PS  D3DSIO_TEX          = 66{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // PS  D3DSIO_TEXBEM       = 67{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // PS  D3DSIO_TEXBEML      = 68{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // PS  D3DSIO_TEXREG2AR    = 69{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // PS  D3DSIO_TEXREG2GB    = 70{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // PS  D3DSIO_TEXM3x2PAD   = 71{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // PS  D3DSIO_TEXM3x2TEX   = 72{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // PS  D3DSIO_TEXM3x3PAD   = 73{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // PS  D3DSIO_TEXM3x3TEX   = 74{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // PS  D3DSIO_TEXM3x3DIFF  = 75{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // PS  D3DSIO_TEXM3x3SPEC  = 76{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // PS  D3DSIO_TEXM3x3VSPEC = 77{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // PS  D3DSIO_EXPP         = 78{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // VS  D3DSIO_LOGP         = 79{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // VS  D3DSIO_CND          = 80{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // PS  D3DSIO_DEF          = 81{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // PS{$IFNDEF DX8}  D3DSIO_TEXREG2RGB   = 82{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // PS  D3DSIO_TEXDP3TEX    = 83{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // PS  D3DSIO_TEXM3x2DEPTH = 84{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // PS  D3DSIO_TEXDP3       = 85{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // PS  D3DSIO_TEXM3x3      = 86{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // PS  D3DSIO_TEXDEPTH     = 87{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // PS  D3DSIO_CMP          = 88{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // PS  D3DSIO_BEM          = 89{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     // PS  D3DSIO_PHASE        = $FFFD{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}{$ENDIF}  D3DSIO_COMMENT      = $FFFE{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  D3DSIO_END          = $FFFF{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  D3DSIO_FORCE_DWORD  = $7fffffff{$IFNDEF NOENUMS}){$ENDIF};     // force 32-bit size enumtype TD3DShader_Instruction_Opcode_Type = TD3DShaderInstructionOpcodeType;// Co-Issue Instruction Modifier - if set then this instruction is to be// issued in parallel with the previous instruction(s) for which this bit

⌨️ 快捷键说明

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