일반적으로 사후 처리는 전체 화면에서 작동합니다. 이것은 매우 간단합니다. 당신이 렌더링 이후 모든 렌더링되는이 시점에서
GraphicsDevice.SetRenderTarget(renderTarget);
: 장치에 렌더 타겟을 설정하는 일
은 (난 당신이 샘플에서 렌더 타겟을 만드는 방법을 알아낼 수 가정) 그 대상을 렌더링합니다.
GraphicsDevice.SetRenderTarget(null);
을 그리고 마지막으로 당신이 XNA 3.1, 텍스처 (this is new in XNA 4.0 인 것처럼 전화를했다 당신의 목표를 렌더링 사용하여 그릴 수 있습니다 : 당신은 당신이 백 버퍼에 그리기 다시 장치를 설정할 수 있습니다 끝나면 그것에 GetTexture
).
그래서 후 처리 효과를 만들기 위해 :
- 는
- 다시 전환 백 버퍼
- 에 렌더 타겟에 장면을 렌더링하여 렌더링 대상을 전체 화면 렌더링을 (할 것
SpriteBatch
사용) 후 처리 효과를 적용 할 픽셀 쉐이더가 있습니다.
모델마다이 작업을 수행 하시겠습니까? 어떤 종류의 이상하지만 certianly 가능한 것 같습니다. 렌더 타겟에 투명한 알파 채널이 있는지 확인한 다음 알파 블렌딩으로 그립니다.
아니면 후 처리를 의미하지 않습니까? 스키닝 된 모델 버텍스 쉐이더를 유지하면서 실제로 모델이 그려지는 픽셀 쉐이더를 변경 하시겠습니까?
이것은 훌륭한 정보입니다. 나는 모델 단위로 그것을하고 싶지 않다. 이것은 정확히 내가 벗어나려고하는 것이다 : o) –