2012-11-05 11 views
3

내가 DX11이 D3DImage를 사용하여 MSAA를 얻기 위해 노력하고 있지만, 공유 멀티 샘플링의 질감이 허용되지 않기 때문에 여기에 명시된 바와 같이, 그것은, 수 없습니다 보인다 : http://msdn.microsoft.com/en-us/library/windows/desktop/ff476531(v=vs.85).aspx멀티 샘플링 (MSAA)에 대한 DirectX11/다이렉트와 D3DImage 공유 자원

실제로, 나는 D3DImage의 SharpDX 구현을 사용합니다. DX11과 DX10에서는 반올림으로 앨리어싱을 제거하지 않아도됩니다. 성공하지 http://sharpdx.org/forum/5-api-usage/1000-d3d11-problem-with-usage-of-texture2d을 :

접근은이 스레드에 설명되어 해결합니다. 사람이 확인할 수있는 경우 Multisampling and Direct3D10/D3DImage interop

마지막으로, 문제는이는 DX10/DX11에서 앤티 앨리어싱 내용의 렌더링 D3DImage를 사용하는 definitly 수 되지 않는다는 사실이다 : 비슷한 질문을 다른 스레드가 아직있다 ?

답변

5

같이, 멀티 샘플링을 공유 텍스처가 (추가 정보 등) 실제로 질감도 더 밉 레벨 (S이 없어야합니다) 허용되지 않는 마이크로 소프트 링크 (뿐만 아니라 여러 번 시도)에서 말했다

공유 할 수있는 유일한 방법 질감 그런 다음 그 결과를 공유 할 수 있습니다, 다음, 비 멀티 샘플링 된 버전 (동일한 형식/매개 변수)를 생성 비 멀티 샘플링 하나에 MSAA 텍스처를 변환 SharpDX에

DeviceContext.ResolveSubresource 

을 사용하는 것입니다.

+0

감사합니다. 괜찮아요.하지만 질문은 DX11에서 MSAA를 사용하여 렌더링 할 수 있습니까? SampleContext.ResolveSubresource로 복사하고 D3DImage에 비 MS 사본을 첨부하여 SampleDescription (4, 16)을 사용하여 Texture2D를 작성하여 제안 된 솔루션을 시도했습니다. 하지만 DX11에서 앤티 앨리어스 출력을 얻는 데 도움이되지 않습니다. – DerPrzem

+0

MSAA 텍스처를 (렌더링 타겟과 함께) 생성하고, MSAA 렌더 타겟으로 렌더링하고, 멀티 샘플링되지 않은 MSAA 텍스처를 분석합니다. 결과가 앤티 엘리 어싱되지 않습니까? – catflier

+1

네, 그렇습니다. 오류를 발견했습니다 - 색상 버퍼와 동일한 SampleDescription에 깊이 버퍼를 설정하지 않았습니다. 이제는 MSAA를 렌더링합니다! 도와 줘서 고맙다. – DerPrzem