ID3DXSprite::Begin 方法

准备用于绘制子画面的设备。

语法

HRESULT Begin(
  [in] DWORD Flags
);

参数

Flags [in]

类型: DWORD

描述子画面呈现选项的零个或多个标志的组合。 对于此方法,有效标志为:

  • D3DXSPRITE_ALPHABLEND
  • D3DXSPRITE__BILLBOARD
  • D3DXSPRITE_DONOTMODIFY_RENDERSTATE
  • D3DXSPRITE_DONOTSAVESTATE
  • D3DXSPRITE_OBJECTSPACE
  • D3DXSPRITE__SORT_DEPTH_BACKTOFRONT
  • D3DXSPRITE__SORT_DEPTH_FRONTTOBACK
  • D3DXSPRITE__SORT_TEXTURE

有关标志的说明以及有关如何控制设备状态捕获和设备视图转换的信息,请参阅 D3DXSPRITE

返回值

类型: HRESULT

如果方法成功,则返回值S_OK。 如果方法失败,则返回值可以是以下值之一:D3DERR_INVALIDCALL、D3DERR_OUTOFVIDEOMEMORY、D3DXERR_INVALIDDATA、E_OUTOFMEMORY。

备注

必须从 IDirect3DDevice9::BeginScene 内部调用此方法。 . . IDirect3DDevice9::EndScene 序列。 ID3DXSprite::Begin 不能用作 IDirect3DDevice9::BeginSceneID3DXRenderToSurface::BeginScene 的替代品。

此方法将在设备上设置以下状态。

呈现状态:

type (D3DRENDERSTATETYPE)
D3DRS_ALPHABLENDENABLE TRUE
D3DRS_ALPHAFUNC D3DCMP_GREATER
D3DRS_ALPHAREF 0x00
D3DRS_ALPHATESTENABLE AlphaCmpCaps
D3DRS_BLENDOP D3DBLENDOP_ADD
D3DRS_CLIPPING TRUE
D3DRS_CLIPPLANEENABLE FALSE
D3DRS_COLORWRITEENABLE D3DCOLORWRITEENABLE_ALPHA |D3DCOLORWRITEENABLE_BLUE |D3DCOLORWRITEENABLE_GREEN |D3DCOLORWRITEENABLE_RED
D3DRS_CULLMODE D3DCULL_NONE
D3DRS_DESTBLEND D3DBLEND_INVSRCALPHA
D3DRS_DIFFUSEMATERIALSOURCE D3DMCS_COLOR1
D3DRS_ENABLEADAPTIVETESSELLATION FALSE
D3DRS_FILLMODE D3DFILL_SOLID
D3DRS_FOGENABLE FALSE
D3DRS_INDEXEDVERTEXBLENDENABLE FALSE
D3DRS_LIGHTING FALSE
D3DRS_RANGEFOGENABLE FALSE
D3DRS_SEPARATEALPHABLENDENABLE FALSE
D3DRS_SHADEMODE D3DSHADE_GOURAUD
D3DRS_SPECULARENABLE FALSE
D3DRS_SRCBLEND D3DBLEND_SRCALPHA
D3DRS_SRGBWRITEENABLE FALSE
D3DRS_STENCILENABLE FALSE
D3DRS_VERTEXBLEND FALSE
D3DRS_WRAP0 0

 

纹理阶段状态:

阶段标识符 类型 (D3DTEXTURESTAGESTATETYPE)
0 D3DTSS_ALPHAARG1 D3DTA_TEXTURE
0 D3DTSS_ALPHAARG2 D3DTA_DIFFUSE
0 D3DTSS_ALPHAOP D3DTOP_MODULATE
0 D3DTSS_COLORARG1 D3DTA_TEXTURE
0 D3DTSS_COLORARG2 D3DTA_DIFFUSE
0 D3DTSS_COLOROP D3DTOP_MODULATE
0 D3DTSS_TEXCOORDINDEX 0
0 D3DTSS_TEXTURETRANSFORMFLAGS D3DTTFF_DISABLE
1 D3DTSS_ALPHAOP D3DTOP_DISABLE
1 D3DTSS_COLOROP D3DTOP_DISABLE

 

采样器状态:

采样器阶段索引 type (D3DSAMPLERSTATETYPE)
0 D3DSAMP_ADDRESSU D3DTADDRESS_CLAMP
0 D3DSAMP_ADDRESSV D3DTADDRESS_CLAMP
0 D3DSAMP_MAGFILTER 如果 TextureFilterCaps 包含D3DPTFILTERCAPS_MAGFANISOTROPIC,则D3DTEXF_ANISOTROPIC;否则D3DTEXF_LINEAR
0 D3DSAMP_MAXMIPLEVEL 0
0 D3DSAMP_MAXANISOTROPY MaxAnisotropy
0 D3DSAMP_MINFILTER 如果 TextureFilterCaps 包含D3DPTFILTERCAPS_MINFANISOTROPIC,则D3DTEXF_ANISOTROPIC;否则D3DTEXF_LINEAR
0 D3DSAMP_MIPFILTER 如果 TextureFilterCaps 包含 D3DPTFILTERCAPS_MIPFLINEAR,则D3DTEXF_LINEAR;否则D3DTEXF_POINT
0 D3DSAMP_MIPMAPLODBIAS 0
0 D3DSAMP_SRGBTEXTURE 0

 

注意

此方法禁用 N 补丁。

 

要求

要求
标头
D3dx9core.h

D3dx9.lib

另请参阅

ID3DXSprite

D3DXSPRITE