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

📄 direct3d9.pas.svn-base

📁 这是一段游戏修改工具的源代码.ring3功能由dephi开发,驱动是C开发.希望对大家有帮助
💻 SVN-BASE
📖 第 1 页 / 共 5 页
字号:
(*) * State enumerants for per-stage processing of fixed function pixel processing * Two of these affect fixed function vertex processing as well: TEXTURETRANSFORMFLAGS and TEXCOORDINDEX.(*)type  TD3DTextureStageStateType = {$IFNDEF NOENUMS}({$ELSE}LongWord;{$ENDIF}{$IFDEF NOENUMS}const{$ENDIF}    D3DTSS_COLOROP               =  1{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     (* D3DTEXTUREOP - per-stage blending controls for color channels *)    D3DTSS_COLORARG1             =  2{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     (* D3DTA_* (texture arg) *)    D3DTSS_COLORARG2             =  3{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     (* D3DTA_* (texture arg) *)    D3DTSS_ALPHAOP               =  4{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     (* D3DTEXTUREOP - per-stage blending controls for alpha channel *)    D3DTSS_ALPHAARG1             =  5{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     (* D3DTA_* (texture arg) *)    D3DTSS_ALPHAARG2             =  6{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     (* D3DTA_* (texture arg) *)    D3DTSS_BUMPENVMAT00          =  7{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     (* float (bump mapping matrix) *)    D3DTSS_BUMPENVMAT01          =  8{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     (* float (bump mapping matrix) *)    D3DTSS_BUMPENVMAT10          =  9{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     (* float (bump mapping matrix) *)    D3DTSS_BUMPENVMAT11          = 10{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     (* float (bump mapping matrix) *)    D3DTSS_TEXCOORDINDEX         = 11{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     (* identifies which set of texture coordinates index this texture *)    D3DTSS_BUMPENVLSCALE         = 22{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     (* float scale for bump map luminance *)    D3DTSS_BUMPENVLOFFSET        = 23{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     (* float offset for bump map luminance *)    D3DTSS_TEXTURETRANSFORMFLAGS = 24{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     (* D3DTEXTURETRANSFORMFLAGS controls texture transform *)    D3DTSS_COLORARG0             = 26{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     (* D3DTA_* third arg for triadic ops *)    D3DTSS_ALPHAARG0             = 27{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     (* D3DTA_* third arg for triadic ops *)    D3DTSS_RESULTARG             = 28{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}     (* D3DTA_* arg for result (CURRENT or TEMP) *)    D3DTSS_CONSTANT              = 32{$IFNDEF NOENUMS}){$ENDIF};            (* Per-stage constant D3DTA_CONSTANT *)(*) * State enumerants for per-sampler texture processing.(*)type  TD3DSamplerStateType  = {$IFNDEF NOENUMS}({$ELSE}LongWord;{$ENDIF}{$IFDEF NOENUMS}const{$ENDIF}      D3DSAMP_ADDRESSU       = 1{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  (* D3DTEXTUREADDRESS for U coordinate *)    D3DSAMP_ADDRESSV       = 2{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  (* D3DTEXTUREADDRESS for V coordinate *)    D3DSAMP_ADDRESSW       = 3{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  (* D3DTEXTUREADDRESS for W coordinate *)    D3DSAMP_BORDERCOLOR    = 4{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  (* D3DCOLOR *)    D3DSAMP_MAGFILTER      = 5{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  (* D3DTEXTUREFILTER filter to use for magnification *)    D3DSAMP_MINFILTER      = 6{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  (* D3DTEXTUREFILTER filter to use for minification *)    D3DSAMP_MIPFILTER      = 7{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  (* D3DTEXTUREFILTER filter to use between mipmaps during minification *)    D3DSAMP_MIPMAPLODBIAS  = 8{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  (* float Mipmap LOD bias *)    D3DSAMP_MAXMIPLEVEL    = 9{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  (* DWORD 0..(n-1) LOD index of largest map to use (0 == largest) *)    D3DSAMP_MAXANISOTROPY  = 10{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} (* DWORD maximum anisotropy *)    D3DSAMP_SRGBTEXTURE    = 11{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} (* Default = 0 (which means Gamma 1.0{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}                                                                     no correction required.) else correct for                                                                     Gamma = 2.2 *)    D3DSAMP_ELEMENTINDEX   = 12{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} (* When multi-element texture is assigned to sampler{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} this                                                                     indicates which element index to use.  Default = 0.  *)    D3DSAMP_DMAPOFFSET     = 13{$IFNDEF NOENUMS}){$ENDIF};        (* Offset in vertices in the pre-sampled displacement map.                                                                     Only valid for D3DDMAPSAMPLER sampler  *)                                                                     (* Special sampler which is used in the tesselator *)const  D3DDMAPSAMPLER = 256;// Samplers used in vertex shaders  D3DVERTEXTEXTURESAMPLER0 = (D3DDMAPSAMPLER + 1);  D3DVERTEXTEXTURESAMPLER1 = (D3DDMAPSAMPLER + 2);  D3DVERTEXTEXTURESAMPLER2 = (D3DDMAPSAMPLER + 3);  D3DVERTEXTEXTURESAMPLER3 = (D3DDMAPSAMPLER + 4);// 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;  D3DTSS_TCI_CAMERASPACENORMAL           = $00010000;  D3DTSS_TCI_CAMERASPACEPOSITION         = $00020000;  D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR = $00030000;  D3DTSS_TCI_SPHEREMAP                   = $00040000;(*) * Enumerations for COLOROP and ALPHAOP texture blending operations set in * texture processing stage controls in D3DTSS.(*)type  TD3DTextureOp = {$IFNDEF NOENUMS}({$ELSE}LongWord;{$ENDIF}{$IFDEF NOENUMS}const{$ENDIF}    // Control    D3DTOP_DISABLE                   = 1{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}   // disables stage    D3DTOP_SELECTARG1                = 2{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}   // the default    D3DTOP_SELECTARG2                = 3{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    // Modulate    D3DTOP_MODULATE                  = 4{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}   // multiply args together    D3DTOP_MODULATE2X                = 5{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}   // multiply and  1 bit    D3DTOP_MODULATE4X                = 6{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}   // multiply and  2 bits    // Add    D3DTOP_ADD                       = 7{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}   // add arguments together    D3DTOP_ADDSIGNED                 = 8{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}   // add with -0.5 bias    D3DTOP_ADDSIGNED2X               = 9{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}   // as above but left  1 bit    D3DTOP_SUBTRACT                  = 10{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  // Arg1 - Arg2{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} with no saturation    D3DTOP_ADDSMOOTH                 = 11{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  // add 2 args{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} subtract product                                          // Arg1 + Arg2 - Arg1*Arg2                                          // = Arg1 + (1-Arg1)*Arg2    // Linear alpha blend: Arg1*(Alpha) + Arg2*(1-Alpha)    D3DTOP_BLENDDIFFUSEALPHA         = 12{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  // iterated alpha    D3DTOP_BLENDTEXTUREALPHA         = 13{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  // texture alpha    D3DTOP_BLENDFACTORALPHA          = 14{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  // alpha from D3DRS_TEXTUREFACTOR    // Linear alpha blend with pre-multiplied arg1 input: Arg1 + Arg2*(1-Alpha)    D3DTOP_BLENDTEXTUREALPHAPM       = 15{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  // texture alpha    D3DTOP_BLENDCURRENTALPHA         = 16{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  // by alpha of current color    // Specular mapping    D3DTOP_PREMODULATE               = 17{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  // modulate with next texture before use    D3DTOP_MODULATEALPHA_ADDCOLOR    = 18{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  // Arg1.RGB + Arg1.A*Arg2.RGB                                          // COLOROP only    D3DTOP_MODULATECOLOR_ADDALPHA    = 19{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  // Arg1.RGB*Arg2.RGB + Arg1.A                                          // COLOROP only    D3DTOP_MODULATEINVALPHA_ADDCOLOR = 20{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  // (1-Arg1.A)*Arg2.RGB + Arg1.RGB                                          // COLOROP only    D3DTOP_MODULATEINVCOLOR_ADDALPHA = 21{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  // (1-Arg1.RGB)*Arg2.RGB + Arg1.A                                          // COLOROP only    // Bump mapping    D3DTOP_BUMPENVMAP                = 22{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  // per pixel env map perturbation    D3DTOP_BUMPENVMAPLUMINANCE       = 23{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  // with luminance channel    // This can do either diffuse or specular bump mapping with correct input.    // Performs the function (Arg1.R*Arg2.R + Arg1.G*Arg2.G + Arg1.B*Arg2.B)    // where each component has been scaled and offset to make it signed.    // The result is replicated into all four (including alpha) channels.    // This is a valid COLOROP only.    D3DTOP_DOTPRODUCT3               = 24{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    // Triadic ops    D3DTOP_MULTIPLYADD               = 25{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}  // Arg0 + Arg1*Arg2    D3DTOP_LERP                      = 26{$IFNDEF NOENUMS}){$ENDIF};         // (Arg0)*Arg1 + (1-Arg0)*Arg2const(*) * Values for COLORARG0;1;2; ALPHAARG0;1;2; and RESULTARG texture blending * operations set in texture processing stage controls in D3DRENDERSTATE.(*)  D3DTA_SELECTMASK        = $0000000f;  // mask for arg selector  D3DTA_DIFFUSE           = $00000000;  // select diffuse color (read only)  D3DTA_CURRENT           = $00000001;  // select stage destination register (read/write)  D3DTA_TEXTURE           = $00000002;  // select texture color (read only)  D3DTA_TFACTOR           = $00000003;  // select D3DRS_TEXTUREFACTOR (read only)  D3DTA_SPECULAR          = $00000004;  // select specular color (read only)  D3DTA_TEMP              = $00000005;  // select temporary register color (read/write)  D3DTA_CONSTANT          = $00000006;  // select texture stage constant  D3DTA_COMPLEMENT        = $00000010;  // take 1.0 - x (read modifier)  D3DTA_ALPHAREPLICATE    = $00000020;  // replicate alpha to color components (read modifier)// Values for D3DTSS_***FILTER texture stage statestype  TD3DTextureFilterType = {$IFNDEF NOENUMS}({$ELSE}LongWord;{$ENDIF}{$IFDEF NOENUMS}const{$ENDIF}    D3DTEXF_NONE            = 0{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    // filtering disabled (valid for mip filter only)    D3DTEXF_POINT           = 1{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    // nearest    D3DTEXF_LINEAR          = 2{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    // linear interpolation    D3DTEXF_ANISOTROPIC     = 3{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    // anisotropic    D3DTEXF_PYRAMIDALQUAD   = 6{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    // 4-sample tent    D3DTEXF_GAUSSIANQUAD    = 7{$IFNDEF NOENUMS}){$ENDIF};           // 4-sample gaussianconst(* Bits for Flags in ProcessVertices call *)  D3DPV_DONOTCOPYDATA  = 1 shl 0;//-------------------------------------------------------------------// Flexible vertex format bits//  D3DFVF_RESERVED0         = $001;  D3DFVF_POSITION_MASK     = $400E;  D3DFVF_XYZ               = $002;  D3DFVF_XYZRHW            = $004;  D3DFVF_XYZB1             = $006;  D3DFVF_XYZB2             = $008;  D3DFVF_XYZB3             = $00a;  D3DFVF_XYZB4             = $00c;  D3DFVF_XYZB5             = $00e;  D3DFVF_XYZW              = $4002;  D3DFVF_NORMAL            = $010;  D3DFVF_PSIZE             = $020;  D3DFVF_DIFFUSE           = $040;  D3DFVF_SPECULAR          = $080;  D3DFVF_TEXCOUNT_MASK     = $f00;  D3DFVF_TEXCOUNT_SHIFT    = 8;  D3DFVF_TEX0              = $000;  D3DFVF_TEX1              = $100;  D3DFVF_TEX2              = $200;  D3DFVF_TEX3              = $300;  D3DFVF_TEX4              = $400;  D3DFVF_TEX5              = $500;  D3DFVF_TEX6              = $600;  D3DFVF_TEX7              = $700;  D3DFVF_TEX8              = $800;  D3DFVF_LASTBETA_UBYTE4   = $1000;  D3DFVF_LASTBETA_D3DCOLOR = $8000;  D3DFVF_RESERVED2         = $6000;  // 2 reserved bits//---------------------------------------------------------------------// Vertex Shaders//// Vertex shader declaration// Vertex element semantics//{$MINENUMSIZE 1}type  TD3DDeclUsage = {$IFNDEF NOENUMS}({$ELSE}Byte;{$ENDIF}{$IFDEF NOENUMS}const{$ENDIF}    D3DDECLUSAGE_POSITION     = 0{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DDECLUSAGE_BLENDWEIGHT  = 1{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DDECLUSAGE_BLENDINDICES = 2{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DDECLUSAGE_NORMAL       = 3{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DDECLUSAGE_PSIZE        = 4{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DDECLUSAGE_TEXCOORD     = 5{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DDECLUSAGE_TANGENT      = 6{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DDECLUSAGE_BINORMAL     = 7{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DDECLUSAGE_TESSFACTOR   = 8{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DDECLUSAGE_POSITIONT    = 9{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DDECLUSAGE_COLOR        = 10{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DDECLUSAGE_FOG          = 11{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DDECLUSAGE_DEPTH        = 12{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DDECLUSAGE_SAMPLE       = 13{$IFNDEF NOENUMS}){$ENDIF};{$MINENUMSIZE 4}const  MAXD3DDECLUSAGE         = D3DDECLUSAGE_SAMPLE;  MAXD3DDECLUSAGEINDEX    = 15;  MAXD3DDECLLENGTH        = 64; // does not include "end" marker vertex element{$MINENUMSIZE 1}type  TD3DDeclMethod = {$IFNDEF NOENUMS}({$ELSE}Byte;{$ENDIF}{$IFDEF NOENUMS}const{$ENDIF}    D3DDECLMETHOD_DEFAULT          = 0{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DDECLMETHOD_PARTIALU         = 1{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DDECLMETHOD_PARTIALV         = 2{$IFNDEF NOENUMS},{$ELSE};{$ENDIF}    D3DDECLMETHOD_CROSSUV          = 3{$IFNDEF NOENUMS},{$ELSE};{$ENDIF} // Normal

⌨️ 快捷键说明

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