ID3DXSprite::Begin 메서드

스프라이트를 그리기 위한 디바이스를 준비합니다.

구문

HRESULT Begin(
  [in] DWORD Flags
);

매개 변수

Flags [in]

형식: DWORD

스프라이트 렌더링 옵션을 설명하는 0개 이상의 플래그 조합입니다. 이 메서드의 경우 유효한 플래그는 다음과 같습니다.

  • 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::BeginIDirect3DDevice9::BeginScene 또는 ID3DXRenderToSurface::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