2011-08-02 2 views
3

멀티 샘플링을 사용하여 텍스처를 렌더링 한 다음 텍스쳐 쿼드 (픽셀 쉐이더를 통과)를 사용하여 백 버퍼로 렌더링하고 싶습니다. 멀티 샘플링 없이는 모든 것이 잘 작동하지만 그럴 수 없습니다 멀티 샘플링을 사용하도록 설정하는 방법을 찾아보십시오.D3D9 멀티 샘플링을 사용하여 텍스처 렌더링

CreateDepthStencilSurface()를 시도했지만 그 표면으로 무엇을해야할지 모르거나 tat이 무엇을해야하는지 알지 못합니다.

도와주세요.

PS - 내가 DX9, Win32 및 당신은 할 수 없습니다, 직접적 어쨌든 C++

답변

3

을 사용하고 있습니다.

  1. 하는 멀티 샘플이
  2. 사용 IDirect3DDevice9::StretchRect는 표면 중 하나에 당신의 멀티 샘플링 내용을 블럭 전송하는 대상 렌더링
  3. 이 멀티로 렌더링 간단한 텍스처를 만들 IDirect3DDevice9::CreateRenderTarget
  4. 를 사용하여 렌더 타겟 만들기 다음은 일반적인 해결 방법은 당신의 텍스쳐를
  5. 이제 텍스쳐를 계획대로 사용하십시오.
+1

정밀도를 추가 할 것입니다 : * 2. 렌더링 타겟과 동일한 파라미터 (너비, 높이, 포맷)를 가진 간단한 텍스처를 만듭니다 * –

0

-Create 렌더 타겟과 DepthStencilSurface -이 같은 멀티 샘플링 옵션을 설정해야합니다 (같은 SampleDescription)

DepthStencilSurface이 DepthStencilView로

-DepthStencilSurface이 적어도만큼 해상도가 있어야합니다 - 설정 렌더 타겟

-Highest SampleDescription-설정 오늘날의 대부분의 카드를 지원하는 8 개 샘플이며 품질 32

- RenderTarget을 blit하려면 DX9의 StretchRect와 DX10의 ResolveSubresource를 사용하십시오. DX30

관련 문제