2017-02-20 3 views
0

J'essaie d'utiliser anti aliasing dans WPF et DirectX 9.
J'utilise la fonction:Erreur de mémoire tampon arrière avec DirectX 9 et WPF

d3dImage.SetBackBuffer(D3DResourceType.IDirect3DSurface9, m_ViewportRenderSurface); 

mais je suis arrivé cette erreur:

Exception thrown: 'System.ArgumentException' in PresentationCore.dll 
Additional information: An antialiased back buffer requires a IDirect3DDevice9Ex device. 

Lorsque vous utilisez DirectX 9ex tout fonctionne comme prévu.
Une idée de comment le faire fonctionner avec DirectX 9?

merci

Répondre

2

Vous ne pouvez pas faire cela. Voir la note sur l'échantillonnage multiple au https://msdn.microsoft.com/en-us/library/hh140978(v=vs.110).aspx

+0

merci, il n'y a pas de travail pour cela? Son pas possible d'utiliser AA dans WPF et D3D9? – arii

+0

Non, il n'y a aucun moyen de le faire. Pour des raisons de performances, WPF n'autorise MSAA (anti-crénelage à plusieurs échantillons) que si la capacité D3DCAPS2_CANSHARERESOURCE est définie. D3DCAPS2_CANSHARERESOURCE n'est possible qu'avec 9Ex (voir https://msdn.microsoft.com/fr-fr/library/windows/desktop/bb172511(v=vs.85).aspx) – Vatsan