2016-11-12 1 views

답변

1

전달 된 매개 변수와 Begin()의 오버로드가 정확히 결정되었는지 확인할 수 없습니다. 그 호출에 의해 생성 된 원래 상태를 다시 만들 수 있습니다. Begin()

파라미터는, 등 BlendState, DepthStencilState로서 실제로 GraphicsDevice에 설정된다. 따라서 SpriteBatch.GraphicsDevice에서 상태 정보를 읽고 (저장하고) 다음 호출시 다시 작성하는 것이 가능합니다. Begin()

+0

나는 그것이 의심 스럽습니다. GraphicsDevice 클래스의 소스를 볼 수있는 방법이 있습니까? – GameKyuubi

+0

@GameKyuubi, XNA는 클로즈 소싱되어 있지만 XNA의 오픈 소스 크로스 플랫폼 포트 인 MonoGame이 있습니다. GraphicsDevice가 필요한 모든 정보를 포함하는 공용 속성을 노출하므로 원본을 엄격하게 복제 할 필요가 없습니다 (내 대답의 설명서 링크 참조). – CoolBots

+0

예, SpriteBatch 클래스를 분석 중이 었으며 GraphicsDevice를 사용하여 방법, 특히 GraphicsDevice.SetRenderTarget()에 대해 조사하고 싶습니다. 내가 한계와 내가 여러 SpriteBatches 및 여러 RenderTargets을 처리 할 때 사용해야하는 명령의 순서를 알아 내려고합니다. SetRenderTarget이 Begin()이 호출 될 때 SpriteBatch가 보게되는 속성을 명시 적으로 설정합니다. SpriteBatch SpriteBatch가 활성화되어있는 동안 RenderTarget입니다. – GameKyuubi

관련 문제