C2DX8Init.inc
上传用户:yj_qiu
上传日期:2022-08-08
资源大小:23636k
文件大小:8k
源码类别:

游戏引擎

开发平台:

Delphi

  1.   PFormats[pfUndefined]    := Cardinal(D3DFMT_UNKNOWN);
  2.   PFormats[pfR8G8B8]       := Cardinal(D3DFMT_R8G8B8);
  3.   PFormats[pfA8R8G8B8]     := Cardinal(D3DFMT_A8R8G8B8);
  4.   PFormats[pfX8R8G8B8]     := Cardinal(D3DFMT_X8R8G8B8);
  5.   PFormats[pfR5G6B5]       := Cardinal(D3DFMT_R5G6B5);
  6.   PFormats[pfX1R5G5B5]     := Cardinal(D3DFMT_X1R5G5B5);
  7.   PFormats[pfA1R5G5B5]     := Cardinal(D3DFMT_A1R5G5B5);
  8.   PFormats[pfA4R4G4B4]     := Cardinal(D3DFMT_A4R4G4B4);
  9.   PFormats[pfA8]           := Cardinal(D3DFMT_A8);
  10.   PFormats[pfX4R4G4B4]     := Cardinal(D3DFMT_X4R4G4B4);
  11.   PFormats[pfA8P8]         := Cardinal(D3DFMT_A8P8);
  12.   PFormats[pfP8]           := Cardinal(D3DFMT_P8);
  13.   PFormats[pfL8]           := Cardinal(D3DFMT_L8);
  14.   PFormats[pfA8L8]         := Cardinal(D3DFMT_A8L8);
  15.   PFormats[pfA4L4]         := Cardinal(D3DFMT_A4L4);
  16.   PFormats[pfV8U8]         := Cardinal(D3DFMT_V8U8);
  17.   PFormats[pfL6V5U5]       := Cardinal(D3DFMT_L6V5U5);
  18.   PFormats[pfX8L8V8U8]     := Cardinal(D3DFMT_X8L8V8U8);
  19.   PFormats[pfQ8W8V8U8]     := Cardinal(D3DFMT_Q8W8V8U8);
  20.   PFormats[pfV16U16]       := Cardinal(D3DFMT_V16U16);
  21.   PFormats[pfW11V11U10]    := Cardinal(D3DFMT_W11V11U10);
  22.   PFormats[pfD16_LOCKABLE] := Cardinal(D3DFMT_D16_LOCKABLE);
  23.   PFormats[pfD32]          := Cardinal(D3DFMT_D32);
  24.   PFormats[pfD15S1]        := Cardinal(D3DFMT_D15S1);
  25.   PFormats[pfD24S8]        := Cardinal(D3DFMT_D24S8);
  26.   PFormats[pfD16]          := Cardinal(D3DFMT_D16);
  27.   PFormats[pfD24X8]        := Cardinal(D3DFMT_D24X8);
  28.   PFormats[pfD24X4S4]      := Cardinal(D3DFMT_D24X4S4);
  29.   PFormats[pfB8G8R8]       := Cardinal(D3DFMT_UNKNOWN);
  30.   PFormats[pfA8B8G8R8]     := Cardinal(D3DFMT_UNKNOWN);
  31.   PFormats[pfATIDF16]      := MAKEFOURCC('D','F','1','6');
  32.   PFormats[pfATIDF24]      := MAKEFOURCC('D','F','2','4');
  33.   CullModes[cmNONE] := D3DCULL_NONE; CullModes[cmCW] := D3DCULL_CW; CullModes[cmCCW] := D3DCULL_CCW;
  34.   TexFilters[tfNONE]        := D3DTEXF_NONE;
  35.   TexFilters[tfPOINT]       := D3DTEXF_POINT;
  36.   TexFilters[tfLINEAR]      := D3DTEXF_LINEAR;
  37.   TexFilters[tfANISOTROPIC] := D3DTEXF_ANISOTROPIC;
  38.   TexOperation[toDISABLE]  := D3DTOP_DISABLE;
  39.   TexOperation[toARG1]     := D3DTOP_SELECTARG1; TexOperation[toARG2]       := D3DTOP_SELECTARG2;
  40.   TexOperation[toMODULATE] := D3DTOP_MODULATE;   TexOperation[toMODULATE2X] := D3DTOP_MODULATE2X; TexOperation[toMODULATE4X]  := D3DTOP_MODULATE4X;
  41.   TexOperation[toADD]      := D3DTOP_ADD;        TexOperation[toSIGNEDADD]  := D3DTOP_ADDSIGNED;  TexOperation[toSIGNEDADD2X] := D3DTOP_ADDSIGNED2X;
  42.   TexOperation[toSUB]      := D3DTOP_SUBTRACT;   TexOperation[toSMOOTHADD]  := D3DTOP_ADDSMOOTH;
  43.   TexOperation[toBLENDDIFFUSEALPHA]   := D3DTOP_BLENDDIFFUSEALPHA;
  44.   TexOperation[toBLENDTEXTUREALPHA]   := D3DTOP_BLENDTEXTUREALPHA;
  45.   TexOperation[toBLENDFACTORALPHA]    := D3DTOP_BLENDFACTORALPHA;
  46.   TexOperation[toBLENDTEXTUREALPHAPM] := D3DTOP_BLENDTEXTUREALPHAPM;
  47.   TexOperation[toBLENDCURRENTALPHA]   := D3DTOP_BLENDCURRENTALPHA;
  48.   TexOperation[toPREMODULATE]               := D3DTOP_PREMODULATE;
  49.   TexOperation[toMODULATEALPHA_ADDCOLOR]    := D3DTOP_MODULATEALPHA_ADDCOLOR;
  50.   TexOperation[toMODULATECOLOR_ADDALPHA]    := D3DTOP_MODULATECOLOR_ADDALPHA;
  51.   TexOperation[toMODULATEINVALPHA_ADDCOLOR] := D3DTOP_MODULATEINVALPHA_ADDCOLOR;
  52.   TexOperation[toMODULATEINVCOLOR_ADDALPHA] := D3DTOP_MODULATEINVCOLOR_ADDALPHA;
  53.   TexOperation[toBUMPENV] := D3DTOP_BUMPENVMAP; TexOperation[toBUMPENVLUM] := D3DTOP_BUMPENVMAPLUMINANCE;
  54.   TexOperation[toDOTPRODUCT3] := D3DTOP_DOTPRODUCT3;
  55.   TexOperation[toMULTIPLYADD] := D3DTOP_MULTIPLYADD;
  56.   TexOperation[toLERP] := D3DTOP_LERP;
  57.   TexArgument[taDIFFUSE]  := D3DTA_DIFFUSE;  TexArgument[taCURRENT] := D3DTA_CURRENT;    TexArgument[taTEXTURE] := D3DTA_TEXTURE;
  58.   TexArgument[taSPECULAR] := D3DTA_SPECULAR; TexArgument[taTEMP]    := D3DTA_TEMP;       TexArgument[taTFactor] := D3DTA_TFACTOR;
  59.   TexArgument[taALPHAREPLICATE] := D3DTA_ALPHAREPLICATE;
  60.   TexAddressing[taWRAP]       := Cardinal(D3DTADDRESS_WRAP);
  61.   TexAddressing[taMIRROR]     := Cardinal(D3DTADDRESS_MIRROR);
  62.   TexAddressing[taCLAMP]      := Cardinal(D3DTADDRESS_CLAMP);
  63.   TexAddressing[taBORDER]     := Cardinal(D3DTADDRESS_BORDER);
  64.   TexAddressing[taMIRRORONCE] := Cardinal(D3DTADDRESS_MIRRORONCE);
  65.   CPTypes[ptPOINTLIST]     := Cardinal(D3DPT_POINTLIST);
  66.   CPTypes[ptLINELIST]      := Cardinal(D3DPT_LINELIST);
  67.   CPTypes[ptLINESTRIP]     := Cardinal(D3DPT_LINESTRIP);
  68.   CPTypes[ptTRIANGLELIST]  := Cardinal(D3DPT_TRIANGLELIST);
  69.   CPTypes[ptTRIANGLESTRIP] := Cardinal(D3DPT_TRIANGLESTRIP);
  70.   CPTypes[ptTRIANGLEFAN]   := Cardinal(D3DPT_TRIANGLEFAN);
  71. // The following primitives working properly in OpenGL only
  72.   CPTypes[ptQUADS]     := Cardinal(D3DPT_TRIANGLEFAN);
  73.   CPTypes[ptQUADSTRIP] := Cardinal(D3DPT_TRIANGLEFAN);
  74.   CPTypes[ptPOLYGON]   := Cardinal(D3DPT_TRIANGLEFAN);
  75.                                                                                            //       SDNT
  76.   for i := 0 to 31 do begin
  77.     if i and vfTRANSFORMED > 0 then CVFormatsLow[i] := D3DFVF_XYZRHW else CVFormatsLow[i] := D3DFVF_XYZ;
  78.     if i and vfNORMALS   > 0 then CVFormatsLow[i] := CVFormatsLow[i] or D3DFVF_NORMAL;
  79.     if i and vfDIFFUSE   > 0 then CVFormatsLow[i] := CVFormatsLow[i] or D3DFVF_DIFFUSE;
  80.     if i and vfSPECULAR  > 0 then CVFormatsLow[i] := CVFormatsLow[i] or D3DFVF_SPECULAR;
  81.     if i and vfPOINTSIZE > 0 then CVFormatsLow[i] := CVFormatsLow[i] or D3DFVF_PSIZE;
  82.   end;
  83.   TestFuncs[tfNEVER]        := D3DCMP_NEVER;
  84.   TestFuncs[tfLESS]         := D3DCMP_LESS;
  85.   TestFuncs[tfEQUAL]        := D3DCMP_EQUAL;
  86.   TestFuncs[tfLESSEQUAL]    := D3DCMP_LESSEQUAL;
  87.   TestFuncs[tfGREATER]      := D3DCMP_GREATER;
  88.   TestFuncs[tfNOTEQUAL]     := D3DCMP_NOTEQUAL;
  89.   TestFuncs[tfGREATEREQUAL] := D3DCMP_GREATEREQUAL;
  90.   TestFuncs[tfALWAYS]       := D3DCMP_ALWAYS;
  91.   BlendOps[boADD]         := D3DBLENDOP_ADD;
  92.   BlendOps[boSUBTRACT]    := D3DBLENDOP_SUBTRACT;
  93.   BlendOps[boREVSUBTRACT] := D3DBLENDOP_REVSUBTRACT;
  94.   BlendOps[boMIN]         := D3DBLENDOP_MIN;
  95.   BlendOps[boMAX]         := D3DBLENDOP_MAX;
  96.   TexCoordSources[tcgNone]                        := D3DTSS_TCI_PASSTHRU;
  97.   TexCoordSources[tcgCAMERASPACENORMAL]           := D3DTSS_TCI_CAMERASPACENORMAL;
  98.   TexCoordSources[tcgCAMERASPACEPOSITION]         := D3DTSS_TCI_CAMERASPACEPOSITION;
  99.   TexCoordSources[tcgCAMERASPACEREFLECTIONVECTOR] := D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR;
  100. // Shade modes
  101.   ShadeModes[smFlat] := D3DSHADE_FLAT; ShadeModes[smGouraud] := D3DSHADE_GOURAUD; ShadeModes[smPhong] := D3DSHADE_Phong;
  102. // Fill modes
  103.   FillModes[fmPoint] := D3DFILL_POINT; FillModes[fmWire] := D3DFILL_WIREFRAME; FillModes[fmSolid] := D3DFILL_SOLID;               
  104. // Blend modes
  105.   BlendModes[bmZERO]            := D3DBLEND_ZERO;
  106.   BlendModes[bmONE]             := D3DBLEND_ONE;
  107.   BlendModes[bmSRCCOLOR]        := D3DBLEND_SRCCOLOR;
  108.   BlendModes[bmINVSRCCOLOR]     := D3DBLEND_INVSRCCOLOR;
  109.   BlendModes[bmSRCALPHA]        := D3DBLEND_SRCALPHA;
  110.   BlendModes[bmINVSRCALPHA]     := D3DBLEND_INVSRCALPHA;
  111.   BlendModes[bmDESTALPHA]       := D3DBLEND_DESTALPHA;
  112.   BlendModes[bmINVDESTALPHA]    := D3DBLEND_INVDESTALPHA;
  113.   BlendModes[bmDESTCOLOR]       := D3DBLEND_DESTCOLOR;
  114.   BlendModes[bmINVDESTCOLOR]    := D3DBLEND_INVDESTCOLOR;
  115.   BlendModes[bmSRCALPHASAT]     := D3DBLEND_SRCALPHASAT;
  116.   BlendModes[bmBOTHSRCALPHA]    := D3DBLEND_BOTHSRCALPHA;
  117.   BlendModes[bmBOTHINVSRCALPHA] := D3DBLEND_BOTHINVSRCALPHA;
  118. // Texture transformations
  119.   TexTransformFlags[ttNone]   := D3DTTFF_DISABLE;
  120.   TexTransformFlags[ttCount1] := D3DTTFF_COUNT1;
  121.   TexTransformFlags[ttCount2] := D3DTTFF_COUNT2;
  122.   TexTransformFlags[ttCount3] := D3DTTFF_COUNT3;
  123.   TexTransformFlags[ttCount4] := D3DTTFF_COUNT4;
  124. // Stencil operations
  125.   StencilOps[soKeep]    := D3DSTENCILOP_KEEP;
  126.   StencilOps[soZero]    := D3DSTENCILOP_ZERO;
  127.   StencilOps[soReplace] := D3DSTENCILOP_REPLACE;
  128.   StencilOps[soIncSat]  := D3DSTENCILOP_INCRSAT;
  129.   StencilOps[soDecSat]  := D3DSTENCILOP_DECRSAT;
  130.   StencilOps[soInvert]  := D3DSTENCILOP_INVERT;
  131.   StencilOps[soInc]     := D3DSTENCILOP_INCR;
  132.   StencilOps[soDec]     := D3DSTENCILOP_DECR;