0
XNA 4.0에서는 "두 번째 패스"셰이더를 설정하여 렌더링 된 프레임을 가져온 다음 셰이더 프로그램을 통해 렌더링 된 전체 화면을 실행하려는 올바른 방법은 무엇입니까?XNA에서 두 번째 패스 셰이더를 실행하는 올바른 방법은 무엇입니까?
세 번째 패스도 실행할 수 있습니까?
XNA 4.0에서는 "두 번째 패스"셰이더를 설정하여 렌더링 된 프레임을 가져온 다음 셰이더 프로그램을 통해 렌더링 된 전체 화면을 실행하려는 올바른 방법은 무엇입니까?XNA에서 두 번째 패스 셰이더를 실행하는 올바른 방법은 무엇입니까?
세 번째 패스도 실행할 수 있습니까?
예 가능합니다. RenderTarget2D에서 장면을 렌더링 한 다음 픽셀 쉐이더를 사용하여 장치에서 텍스처를 렌더링해야합니다.
RenderTarget2D target; // needs to instanciate in LoadContent();
Effect myEffect; // this one too.
Draw(GameTime gametime)
{
GraphicsDevice.SetRenderTarget(target);
RenderScene();
GraphicsDevice.SetRenderTarget(null);
spriteBatch.Begin();
myEffect.CurrentTechnique.Passes[0].Apply();
spriteBatch.Draw(.... , target, ...);
spriteBatch.End();
}
셰이더 자체에서 두 번째 패스가 발생하는 것에 대해 이야기하고 있습니까? –
다음은 귀하와 귀하의 질문에 대한 독자가 흥미로워 할만한 관련 기사입니다. http://blogs.msdn.com/b/shawnhar/archive/2009/08/17/combining-shaders.aspx –