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

📄 directxgraphics.pas

📁 冒险岛吸怪源码UCE的制作材料 用于冒险岛游戏的外挂
💻 PAS
📖 第 1 页 / 共 5 页
字号:

  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 enum

type 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
// 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 enum

type 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 enum

type TD3DShader_Param_Register_Type = TD3DShaderParamRegisterType;

// Register offsets in the Rasterizer Register File

type 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 enum

type TD3DVS_RastOut_Offsets = TD3DVSRastOutOffsets;

// Source operand addressing modes
const
  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 enum

type 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 enum

type 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 type
const
  D3DSI_COMMENTSIZE_SHIFT = 16;
  D3DSI_COMMENTSIZE_MASK  = $7FFF0000;

  function  D3DSHADER_COMMENT(_DWordSize : LongWord) : LongWord;

// pixel/vertex shader end token
const
  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}({$ELS

⌨️ 快捷键说明

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