共用方式為


ID3DXSprite::Begin 方法

準備裝置以繪製 Sprite。

語法

HRESULT Begin(
  [in] DWORD Flags
);

參數

旗標 [in]

類型: DWORD

描述 Sprite 轉譯選項之零個或多個旗標的組合。 針對這個方法,有效的旗標為:

  • 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的替代專案。

此方法會在裝置上設定下列狀態。

轉譯狀態:

類型 (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

 

取樣器狀態:

取樣器階段索引 類型 (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