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

📄 direct3d9.pas

📁 一套及时通讯的原码
💻 PAS
📖 第 1 页 / 共 5 页
字号:
{$ELSE}
type
  _D3DTRANSFORMSTATETYPE = (
    D3DTS_VIEW          = 2,
    D3DTS_PROJECTION    = 3,
    D3DTS_TEXTURE0      = 16,
    D3DTS_TEXTURE1      = 17,
    D3DTS_TEXTURE2      = 18,
    D3DTS_TEXTURE3      = 19,
    D3DTS_TEXTURE4      = 20,
    D3DTS_TEXTURE5      = 21,
    D3DTS_TEXTURE6      = 22,
    D3DTS_TEXTURE7      = 23
  );
{$ENDIF}
  {$EXTERNALSYM _D3DTRANSFORMSTATETYPE}
  D3DTRANSFORMSTATETYPE = _D3DTRANSFORMSTATETYPE;
  {$EXTERNALSYM D3DTRANSFORMSTATETYPE}
  TD3DTransformStateType = _D3DTRANSFORMSTATETYPE;

// #define D3DTS_WORLDMATRIX(index) (D3DTRANSFORMSTATETYPE)(index + 256)
function D3DTS_WORLDMATRIX(index: Byte): TD3DTransformStateType;
{$EXTERNALSYM D3DTS_WORLDMATRIX}

const
  D3DTS_WORLD   =  TD3DTransformStateType(0 + 256); // #define D3DTS_WORLD  D3DTS_WORLDMATRIX(0)
  {$EXTERNALSYM D3DTS_WORLD}
  D3DTS_WORLD1  =  TD3DTransformStateType(1 + 256); // #define D3DTS_WORLD1 D3DTS_WORLDMATRIX(1)
  {$EXTERNALSYM D3DTS_WORLD1}
  D3DTS_WORLD2  =  TD3DTransformStateType(2 + 256); // #define D3DTS_WORLD2 D3DTS_WORLDMATRIX(2)
  {$EXTERNALSYM D3DTS_WORLD2}
  D3DTS_WORLD3  =  TD3DTransformStateType(3 + 256); // #define D3DTS_WORLD3 D3DTS_WORLDMATRIX(3)
  {$EXTERNALSYM D3DTS_WORLD3}

{$IFNDEF COMPILER6_UP}
type
  _D3DRENDERSTATETYPE = {$IFDEF TYPE_IDENTITY}type {$ENDIF}DWord;
  {$EXTERNALSYM _D3DRENDERSTATETYPE}
  D3DRENDERSTATETYPE = _D3DRENDERSTATETYPE;
  {$EXTERNALSYM D3DRENDERSTATETYPE}
  TD3DRenderStateType = _D3DRENDERSTATETYPE;

const
  D3DRS_ZENABLE                   = TD3DRenderStateType(7);    { D3DZBUFFERTYPE (or TRUE/FALSE for legacy) }
  {$EXTERNALSYM D3DRS_ZENABLE}
  D3DRS_FILLMODE                  = TD3DRenderStateType(8);    { D3DFILLMODE }
  {$EXTERNALSYM D3DRS_FILLMODE}
  D3DRS_SHADEMODE                 = TD3DRenderStateType(9);    { D3DSHADEMODE }
  {$EXTERNALSYM D3DRS_SHADEMODE}
  D3DRS_ZWRITEENABLE              = TD3DRenderStateType(14);   { TRUE to enable z writes }
  {$EXTERNALSYM D3DRS_ZWRITEENABLE}
  D3DRS_ALPHATESTENABLE           = TD3DRenderStateType(15);   { TRUE to enable alpha tests }
  {$EXTERNALSYM D3DRS_ALPHATESTENABLE}
  D3DRS_LASTPIXEL                 = TD3DRenderStateType(16);   { TRUE for last-pixel on lines }
  {$EXTERNALSYM D3DRS_LASTPIXEL}
  D3DRS_SRCBLEND                  = TD3DRenderStateType(19);   { D3DBLEND }
  {$EXTERNALSYM D3DRS_SRCBLEND}
  D3DRS_DESTBLEND                 = TD3DRenderStateType(20);   { D3DBLEND }
  {$EXTERNALSYM D3DRS_DESTBLEND}
  D3DRS_CULLMODE                  = TD3DRenderStateType(22);   { D3DCULL }
  {$EXTERNALSYM D3DRS_CULLMODE}
  D3DRS_ZFUNC                     = TD3DRenderStateType(23);   { D3DCMPFUNC }
  {$EXTERNALSYM D3DRS_ZFUNC}
  D3DRS_ALPHAREF                  = TD3DRenderStateType(24);   { D3DFIXED }
  {$EXTERNALSYM D3DRS_ALPHAREF}
  D3DRS_ALPHAFUNC                 = TD3DRenderStateType(25);   { D3DCMPFUNC }
  {$EXTERNALSYM D3DRS_ALPHAFUNC}
  D3DRS_DITHERENABLE              = TD3DRenderStateType(26);   { TRUE to enable dithering }
  {$EXTERNALSYM D3DRS_DITHERENABLE}
  D3DRS_ALPHABLENDENABLE          = TD3DRenderStateType(27);   { TRUE to enable alpha blending }
  {$EXTERNALSYM D3DRS_ALPHABLENDENABLE}
  D3DRS_FOGENABLE                 = TD3DRenderStateType(28);   { TRUE to enable fog blending }
  {$EXTERNALSYM D3DRS_FOGENABLE}
  D3DRS_SPECULARENABLE            = TD3DRenderStateType(29);   { TRUE to enable specular }
  {$EXTERNALSYM D3DRS_SPECULARENABLE}
  D3DRS_FOGCOLOR                  = TD3DRenderStateType(34);   { D3DCOLOR }
  {$EXTERNALSYM D3DRS_FOGCOLOR}
  D3DRS_FOGTABLEMODE              = TD3DRenderStateType(35);   { D3DFOGMODE }
  {$EXTERNALSYM D3DRS_FOGTABLEMODE}
  D3DRS_FOGSTART                  = TD3DRenderStateType(36);   { Fog start (for both vertex and pixel fog) }
  {$EXTERNALSYM D3DRS_FOGSTART}
  D3DRS_FOGEND                    = TD3DRenderStateType(37);   { Fog end      }
  {$EXTERNALSYM D3DRS_FOGEND}
  D3DRS_FOGDENSITY                = TD3DRenderStateType(38);   { Fog density  }
  {$EXTERNALSYM D3DRS_FOGDENSITY}
  D3DRS_RANGEFOGENABLE            = TD3DRenderStateType(48);   { Enables range-based fog }
  {$EXTERNALSYM D3DRS_RANGEFOGENABLE}
  D3DRS_STENCILENABLE             = TD3DRenderStateType(52);   { BOOL enable/disable stenciling }
  {$EXTERNALSYM D3DRS_STENCILENABLE}
  D3DRS_STENCILFAIL               = TD3DRenderStateType(53);   { D3DSTENCILOP to do if stencil test fails }
  {$EXTERNALSYM D3DRS_STENCILFAIL}
  D3DRS_STENCILZFAIL              = TD3DRenderStateType(54);   { D3DSTENCILOP to do if stencil test passes and Z test fails }
  {$EXTERNALSYM D3DRS_STENCILZFAIL}
  D3DRS_STENCILPASS               = TD3DRenderStateType(55);   { D3DSTENCILOP to do if both stencil and Z tests pass }
  {$EXTERNALSYM D3DRS_STENCILPASS}
  D3DRS_STENCILFUNC               = TD3DRenderStateType(56);   { D3DCMPFUNC fn.  Stencil Test passes if ((ref & mask) stencilfn (stencil & mask)) is true }
  {$EXTERNALSYM D3DRS_STENCILFUNC}
  D3DRS_STENCILREF                = TD3DRenderStateType(57);   { Reference value used in stencil test }
  {$EXTERNALSYM D3DRS_STENCILREF}
  D3DRS_STENCILMASK               = TD3DRenderStateType(58);   { Mask value used in stencil test }
  {$EXTERNALSYM D3DRS_STENCILMASK}
  D3DRS_STENCILWRITEMASK          = TD3DRenderStateType(59);   { Write mask applied to values written to stencil buffer }
  {$EXTERNALSYM D3DRS_STENCILWRITEMASK}
  D3DRS_TEXTUREFACTOR             = TD3DRenderStateType(60);   { D3DCOLOR used for multi-texture blend }
  {$EXTERNALSYM D3DRS_TEXTUREFACTOR}
  D3DRS_WRAP0                     = TD3DRenderStateType(128);  { wrap for 1st texture coord. set }
  {$EXTERNALSYM D3DRS_WRAP0}
  D3DRS_WRAP1                     = TD3DRenderStateType(129);  { wrap for 2nd texture coord. set }
  {$EXTERNALSYM D3DRS_WRAP1}
  D3DRS_WRAP2                     = TD3DRenderStateType(130);  { wrap for 3rd texture coord. set }
  {$EXTERNALSYM D3DRS_WRAP2}
  D3DRS_WRAP3                     = TD3DRenderStateType(131);  { wrap for 4th texture coord. set }
  {$EXTERNALSYM D3DRS_WRAP3}
  D3DRS_WRAP4                     = TD3DRenderStateType(132);  { wrap for 5th texture coord. set }
  {$EXTERNALSYM D3DRS_WRAP4}
  D3DRS_WRAP5                     = TD3DRenderStateType(133);  { wrap for 6th texture coord. set }
  {$EXTERNALSYM D3DRS_WRAP5}
  D3DRS_WRAP6                     = TD3DRenderStateType(134);  { wrap for 7th texture coord. set }
  {$EXTERNALSYM D3DRS_WRAP6}
  D3DRS_WRAP7                     = TD3DRenderStateType(135);  { wrap for 8th texture coord. set }
  {$EXTERNALSYM D3DRS_WRAP7}
  D3DRS_CLIPPING                  = TD3DRenderStateType(136);
  {$EXTERNALSYM D3DRS_CLIPPING}
  D3DRS_LIGHTING                  = TD3DRenderStateType(137);
  {$EXTERNALSYM D3DRS_LIGHTING}
  D3DRS_AMBIENT                   = TD3DRenderStateType(139);
  {$EXTERNALSYM D3DRS_AMBIENT}
  D3DRS_FOGVERTEXMODE             = TD3DRenderStateType(140);
  {$EXTERNALSYM D3DRS_FOGVERTEXMODE}
  D3DRS_COLORVERTEX               = TD3DRenderStateType(141);
  {$EXTERNALSYM D3DRS_COLORVERTEX}
  D3DRS_LOCALVIEWER               = TD3DRenderStateType(142);
  {$EXTERNALSYM D3DRS_LOCALVIEWER}
  D3DRS_NORMALIZENORMALS          = TD3DRenderStateType(143);
  {$EXTERNALSYM D3DRS_NORMALIZENORMALS}
  D3DRS_DIFFUSEMATERIALSOURCE     = TD3DRenderStateType(145);
  {$EXTERNALSYM D3DRS_DIFFUSEMATERIALSOURCE}
  D3DRS_SPECULARMATERIALSOURCE    = TD3DRenderStateType(146);
  {$EXTERNALSYM D3DRS_SPECULARMATERIALSOURCE}
  D3DRS_AMBIENTMATERIALSOURCE     = TD3DRenderStateType(147);
  {$EXTERNALSYM D3DRS_AMBIENTMATERIALSOURCE}
  D3DRS_EMISSIVEMATERIALSOURCE    = TD3DRenderStateType(148);
  {$EXTERNALSYM D3DRS_EMISSIVEMATERIALSOURCE}
  D3DRS_VERTEXBLEND               = TD3DRenderStateType(151);
  {$EXTERNALSYM D3DRS_VERTEXBLEND}
  D3DRS_CLIPPLANEENABLE           = TD3DRenderStateType(152);
  {$EXTERNALSYM D3DRS_CLIPPLANEENABLE}
  D3DRS_POINTSIZE                 = TD3DRenderStateType(154);   { float point size }
  {$EXTERNALSYM D3DRS_POINTSIZE}
  D3DRS_POINTSIZE_MIN             = TD3DRenderStateType(155);   { float point size min threshold }
  {$EXTERNALSYM D3DRS_POINTSIZE_MIN}
  D3DRS_POINTSPRITEENABLE         = TD3DRenderStateType(156);   { BOOL point texture coord control }
  {$EXTERNALSYM D3DRS_POINTSPRITEENABLE}
  D3DRS_POINTSCALEENABLE          = TD3DRenderStateType(157);   { BOOL point size scale enable }
  {$EXTERNALSYM D3DRS_POINTSCALEENABLE}
  D3DRS_POINTSCALE_A              = TD3DRenderStateType(158);   { float point attenuation A value }
  {$EXTERNALSYM D3DRS_POINTSCALE_A}
  D3DRS_POINTSCALE_B              = TD3DRenderStateType(159);   { float point attenuation B value }
  {$EXTERNALSYM D3DRS_POINTSCALE_B}
  D3DRS_POINTSCALE_C              = TD3DRenderStateType(160);   { float point attenuation C value }
  {$EXTERNALSYM D3DRS_POINTSCALE_C}
  D3DRS_MULTISAMPLEANTIALIAS      = TD3DRenderStateType(161);  // BOOL - set to do FSAA with multisample buffer
  {$EXTERNALSYM D3DRS_MULTISAMPLEANTIALIAS}
  D3DRS_MULTISAMPLEMASK           = TD3DRenderStateType(162);  // DWORD - per-sample enable/disable
  {$EXTERNALSYM D3DRS_MULTISAMPLEMASK}
  D3DRS_PATCHEDGESTYLE            = TD3DRenderStateType(163);  // Sets whether patch edges will use float style tessellation
  {$EXTERNALSYM D3DRS_PATCHEDGESTYLE}
  D3DRS_DEBUGMONITORTOKEN         = TD3DRenderStateType(165);  // DEBUG ONLY - token to debug monitor
  {$EXTERNALSYM D3DRS_DEBUGMONITORTOKEN}
  D3DRS_POINTSIZE_MAX             = TD3DRenderStateType(166);   { float point size max threshold }
  {$EXTERNALSYM D3DRS_POINTSIZE_MAX}
  D3DRS_INDEXEDVERTEXBLENDENABLE  = TD3DRenderStateType(167);
  {$EXTERNALSYM D3DRS_INDEXEDVERTEXBLENDENABLE}
  D3DRS_COLORWRITEENABLE          = TD3DRenderStateType(168);  // per-channel write enable
  {$EXTERNALSYM D3DRS_COLORWRITEENABLE}
  D3DRS_TWEENFACTOR               = TD3DRenderStateType(170);   // float tween factor
  {$EXTERNALSYM D3DRS_TWEENFACTOR}
  D3DRS_BLENDOP                   = TD3DRenderStateType(171);   // D3DBLENDOP setting
  {$EXTERNALSYM D3DRS_BLENDOP}
  D3DRS_POSITIONDEGREE            = TD3DRenderStateType(172);   // NPatch position interpolation degree. D3DDEGREE_LINEAR or D3DDEGREE_CUBIC (default)
  {$EXTERNALSYM D3DRS_POSITIONDEGREE}
  D3DRS_NORMALDEGREE              = TD3DRenderStateType(173);   // NPatch normal interpolation degree. D3DDEGREE_LINEAR (default) or D3DDEGREE_QUADRATIC
  {$EXTERNALSYM D3DRS_NORMALDEGREE}
  D3DRS_SCISSORTESTENABLE         = TD3DRenderStateType(174);
  {$EXTERNALSYM D3DRS_SCISSORTESTENABLE}
  D3DRS_SLOPESCALEDEPTHBIAS       = TD3DRenderStateType(175);
  {$EXTERNALSYM D3DRS_SLOPESCALEDEPTHBIAS}
  D3DRS_ANTIALIASEDLINEENABLE     = TD3DRenderStateType(176);
  {$EXTERNALSYM D3DRS_ANTIALIASEDLINEENABLE}
  D3DRS_MINTESSELLATIONLEVEL      = TD3DRenderStateType(178);
  {$EXTERNALSYM D3DRS_MINTESSELLATIONLEVEL}
  D3DRS_MAXTESSELLATIONLEVEL      = TD3DRenderStateType(179);
  {$EXTERNALSYM D3DRS_MAXTESSELLATIONLEVEL}
  D3DRS_ADAPTIVETESS_X            = TD3DRenderStateType(180);
  {$EXTERNALSYM D3DRS_ADAPTIVETESS_X}
  D3DRS_ADAPTIVETESS_Y            = TD3DRenderStateType(181);
  {$EXTERNALSYM D3DRS_ADAPTIVETESS_Y}
  D3DRS_ADAPTIVETESS_Z            = TD3DRenderStateType(182);
  {$EXTERNALSYM D3DRS_ADAPTIVETESS_Z}
  D3DRS_ADAPTIVETESS_W            = TD3DRenderStateType(183);
  {$EXTERNALSYM D3DRS_ADAPTIVETESS_W}
  D3DRS_ENABLEADAPTIVETESSELLATION = TD3DRenderStateType(184);
  {$EXTERNALSYM D3DRS_ENABLEADAPTIVETESSELLATION}
  D3DRS_TWOSIDEDSTENCILMODE       = TD3DRenderStateType(185);   (* BOOL enable/disable 2 sided stenciling *)
  {$EXTERNALSYM D3DRS_TWOSIDEDSTENCILMODE}
  D3DRS_CCW_STENCILFAIL           = TD3DRenderStateType(186);   (* D3DSTENCILOP to do if ccw stencil test fails *)
  {$EXTERNALSYM D3DRS_CCW_STENCILFAIL}
  D3DRS_CCW_STENCILZFAIL          = TD3DRenderStateType(187);   (* D3DSTENCILOP to do if ccw stencil test passes and Z test fails *)
  {$EXTERNALSYM D3DRS_CCW_STENCILZFAIL}
  D3DRS_CCW_STENCILPASS           = TD3DRenderStateType(188);   (* D3DSTENCILOP to do if both ccw stencil and Z tests pass *)
  {$EXTERNALSYM D3DRS_CCW_STENCILPASS}
  D3DRS_CCW_STENCILFUNC           = TD3DRenderStateType(189);   (* D3DCMPFUNC fn.  ccw Stencil Test passes if ((ref & mask) stencilfn (stencil & mask)) is true *)
  {$EXTERNALSYM D3DRS_CCW_STENCILFUNC}
  D3DRS_COLORWRITEENABLE1         = TD3DRenderStateType(190);   (* Additional ColorWriteEnables for the devices that support D3DPMISCCAPS_INDEPENDENTWRITEMASKS *)
  {$EXTERNALSYM D3DRS_COLORWRITEENABLE1}
  D3DRS_COLORWRITEENABLE2         = TD3DRenderStateType(191);   (* Additional ColorWriteEnables for the devices that support D3DPMISCCAPS_INDEPENDENTWRITEMASKS *)
  {$EXTERNALSYM D3DRS_COLORWRITEENABLE2}
  D3DRS_COLORWRITEENABLE3         = TD3DRenderStateType(192);   (* Additional ColorWriteEnables for the devices that support D3DPMISCCAPS_INDEPENDENTWRITEMASKS *)
  {$EXTERNALSYM D3DRS_COLORWRITEENABLE3}
  D3DRS_BLENDFACTOR               = TD3DRenderStateType(193);   (* D3DCOLOR used for a constant blend factor during alpha blending for devices that support D3DPBLENDCAPS_BLENDFACTOR *)
  {$EXTERNALSYM D3DRS_BLENDFACTOR}
  D3DRS_SRGBWRITEENABLE           = TD3DRenderStateType(194);   (* Enable rendertarget writes to be DE-linearized to SRGB (for formats that expose D3DUSAGE_QUERY_SRGBWRITE) *)
  {$EXTERNALSYM D3DRS_SRGBWRITEENABLE}
  D3DRS_DEPTHBIAS                 = TD3DRenderStateType(195);
  {$EXTERNALSYM D3DRS_DEPTHBIAS}
  D3DRS_WRAP8                     = TD3DRenderStateType(198);   (* Additional wrap states for vs_3_0+ attributes with D3DDECLUSAGE_TEXCOORD *)
  {$EXTERNALSYM D3DRS_WRAP8}
  D3DRS_WRAP9                     = TD3DRenderStateType(199);
  {$EXTERNALSYM D3DRS_WRAP9}
  D3DRS_WRAP10                    = TD3DRenderStateType(200);
  {$EXTERNALSYM D3DRS_WRAP10}
  D3DRS_WRAP11                    = TD3DRenderStateType(201);
  {$EXTERNALSYM D3DRS_WRAP11}
  D3DRS_WRAP12                    = TD3DRenderStateType(202);
  {$EXTERNALSYM D3DRS_WRAP12}
  D3DRS_WRAP13                    = TD3DRenderStateType(203);
  {$EXTERNALSYM D3DRS_WRAP13}
  D3DRS_WRAP14                    = TD3DRenderStateType(204);
  {$EXTERNALSYM D3DRS_WRAP14}
  D3DRS_WRAP15                    = TD3DRenderStateType(205);
  {$EXTERNALSYM D3DRS_WRAP15}
  D3DRS_SEPARATEALPHABLENDENABLE  = TD3DRenderStateType(206);  (* TRUE to enable a separate blending function for the alpha channel *)
  {$EXTERNALSYM D3DRS_SEPARATEALPHABLENDENABLE}
  D3DRS_SRCBLENDALPHA             = TD3DRenderStateType(207);  (* SRC blend factor for the alpha channel when D3DRS_SEPARATEDESTALPHAENABLE is TRUE *)
  {$EXTERNALSYM D3DRS_SRCBLENDALPHA}
  D3DRS_DESTBLENDALPHA            = TD3DRenderStateType(208);  (* DST blend factor for the alpha channel when D3DRS_SEPARATEDESTALPHAENABLE is TRUE *)
  {$EXTERNALSYM D3DRS_DESTBLENDALPHA}
  D3DRS_BLENDOPALPHA              = TD3DRenderStateType(209);  (* Blending operation for the alpha channel when D3DRS_SEPARATEDESTALPHAENABLE is TRUE *)
  {$EXTERNALSYM D3DRS_BLENDOPALPHA}


  D3DRS_FORCE_DWORD               = TD3DRenderStateType($7fffffff); { force 32-bit size enum }
  {$EXTERNALSYM D3DRS_FORCE_DWORD}
{$ELSE}
type
  _D3DRENDERSTATETYPE = (
    D3DRS_ZENABLE                   = 7,    (* D3DZBUFFERTYPE (or TRUE/FALSE for legacy) *)
    D3DRS_FILLMODE                  = 8,    (* D3DFILLMODE *)
    D3DRS_SHADEMODE                 = 9,    (* D3DSHADEMODE *)
    D3DRS_ZWRITEENABLE              = 14,   (* TRUE to enable z writes *)
    D3DRS_ALPHATESTENABLE           = 15,   (* TRUE to enable alpha tests *)
    D3DRS_LASTPIXEL                 = 16,   (* TRUE for last-pixel on lines *)
    D3DRS_SRCBLEND                  = 19,   (* D3DBLEND *)
    D3DRS_DESTBLEND                 = 20,   (* D3DBLEND *)
    D3DRS_CULLMODE                  = 22,   (* D3DCULL *)
    D3DRS_ZFUNC                     = 23,   (* D3DCMPFUNC *)
    D3DRS_ALPHAREF                  = 24,   (* D3DFIXED *)
    D3DRS_ALPHAFUNC                 = 25,   (* D3DCMPFUNC *)
    D3DRS_DITHERENABLE              = 26,   (* TRUE to enable dithering *)
    D3DRS_ALPHABLENDENABLE          = 27,   (* TRUE to enable alpha blending *)
    D3DRS_FOGENABLE                 = 28,   (* TRUE to enable fog blending *)
    D3DRS_SPECULARENABLE            = 29,   (* TRUE to enable specular *)
    D3DRS_FOGCOLOR                  = 34,   (* D3DCOLOR *)
    D3DRS_FOGTABLEMODE              = 35,   (* D3DFOGMODE *)
    D3DRS_FOGSTART                  = 36,   (* Fog start (for both vertex and pixel fog) *)
    D3DRS_FOGEND                    = 37,   (* Fog end      *)
    D3DRS_FOGDENSITY                = 38,   (* Fog density  *)
    D3DRS_RANGEFOGENABLE            = 48,   (* Enables range-based fog *)
    D3DRS_STENCILENABLE             = 52,   (* BOOL enable/disable stenciling *)
    D3DRS_STENCILFAIL               = 53,   (* D3DSTENCILOP to do if stencil test fails *)
    D3DRS_STENCILZFAIL              = 54,   (* D3DSTENCILOP to do if stencil test passes and Z test fails *)
    D3DRS_STENCILPASS               = 55,   (* D3DSTENCILOP to do if both stencil and Z tests pass *)
    D3DRS_STENCILFUNC               = 56,   (* D3DCMPFUNC fn.  Stencil Test passes if ((ref & mask) stencilfn (stencil & mask)) is true *)
    D3DRS_STENCILREF                = 57,   (* Reference value used in stencil test *)
    D3DRS_STENCILMASK               = 58,   (* Mask value used in stencil test *)
    D3DRS_STENCILWRITEMASK          = 59,   (* Write mask applied to values written to stencil buffer *)
    D3DRS_TEXTUREFACTOR             = 60,   (* D3DCOLOR used for multi-texture blend *)
    D3DRS_WRAP0                     = 128,  (* wrap for 1st texture coord. set *)
    D3DRS_WRAP1                     = 129,  (* wrap for 2nd texture coord. set *)
    D3DRS_WRAP2                     = 130,  (* wrap for 3rd texture coord. set *)
    D3DRS_WRAP3                     = 131,  (* wrap for 4th texture coord. set *)

⌨️ 快捷键说明

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