Jawel. Daar is wel wat over te zeggen, namelijk... je kan je iets af vragen...
-) Is AA in DX9 mogelijk zonder texture glitches en artifacts? Ja of nee.
Is je antwoord 'Ja' dan is het hoogstwaarschijnlijk dat de rendering-engines van de DX9 en DX10 versie op bepaalde punten van elkaar
verschillen waardoor dit mogelijk is zoals het geval is bij Call of Juarez.
Ja, er zit een kans in dat wanneer het antwoord 'Ja' is de dev opzettelijk hardwarematige MSAA resolve heeft uitgezet in het DX10 path, maar de tijd zal het leren of dat gedaan is om glitches/artifacts te voorkomen of om een bepaalde IHV te bevoordelen. Dat zal blijken naarmate er meer titels uit komen die enkel en alleen AA in DX10 aanbieden.
Waar zou dan het verschil moeten liggen tussen de DX9 engine en DX10 engine? Dat ligt op het gebied waar resolving in een ander stadium nodig is om een 'correct' beeld te geven daar waar DX9 dat niet kan bieden.
Voorbeelden?
1) Dit kan het geval zijn bij deferred shading waar het nodig is om MSAA render targets als een texture te binden waardoor je afzonderlijk toegang hebt tot elke subsample, waardoor de programmeur betere controle heeft over hoe deze subsamples gebruikt worden. De huidige hardwarematige manier van MSAA resolve gebeurt in een heel laat stadium binnen de graphicspipeline en wel in de "scan-out" fase. In deze fase kunnen subsamples niet meer opgenomen worden in het geheugen voor opvolgend gebruik. Hierdoor is MSAA niet mogelijk in engines die deferred shading gebruiken.
2) Wanneer er HDR Tonemapping gebruikt wordt. Het 'oude' hardwarematige MSAA resolve gebeurt voordat Tonemapping wordt toegepast. Dit kan leiden tot texture glitches/bugs/artifacts. Wil je dit voorkomen, dan zal je MSAA resolve moeten toepassen
nadat de Tonemapping is toegepast.
Het kan in het geval van bv CoJ goed mogelijk zijn dat de engine die gebruikt wordt voor DX9 verschilt van de DX10 engine op bovenstaande punten, waardoor besloten is om het resolve gedeelte op de 'nieuwe' manier te doen ipv de oude.
Is het antwoord 'Nee', dan is het bijna helemaal zeker dat er bepaalde technieken gebruikt worden in de engine waardoor het niet mogelijk is. Of zou de dev dan opzettelijk bepaalde dingen in de engine gestopt hebben en z'n eigen game verminkt (waar de uitgever blij mee zal zijn) hebben waardoor het niet mogelijk is?
Maar goed, dat zijn weer oude koeien die nu uit de sloot worden gehaald. Hopelijk is nu echter voor de meesten wel duidelijk wat de voordelen en nadelen zijn van de DX10 manier van MSAA resolve. Hardwarematig is over het algemeen sneller, maar kan glitches/artifacts geven. Softwarematig is over het algemeen iets langzamer, maar geeft wel een correct beeld. Het is aan de dev om te beslissen welke methode het beste bij hun engines past.
Technical PR Officer @ MSI Europe. My thoughts and opinions may not reflect the ones of my employer.