Seite 1 von 1

[D3D9] AAA aktivieren

Verfasst: 26.06.2010, 19:47
von Krishty
Hi,

Gibt es unter D3D9 eine Möglichkeit, Adaptive Anti-Aliasing (bzw. Transparenz-Anti-Aliasing) über die API zu aktivieren (gern auch über einen „Hack“), statt das den User manuell über den Treiber machen zu lassen?

Gruß, Ky

Re: [D3D9] AAA aktivieren

Verfasst: 27.06.2010, 20:54
von Krishty
Unter dem Stichwort „Alpha to Coverage“ ließ sich das doch gleich viel schneller finden. Aaaaalso:

ATI (Quelle: Advanced DX9 Capabilities for ATI Radeon Cards): Device->SetRenderstate(::D3DRS_POINTSIZE, (::D3DFORMAT)MAKEFOURCC(‘A’,‘2’,‘M’,‘1’));
Nvidia (Quelle: Technical Report — Antialiasing withTransparency): Device->SetRenderState(::D3DRS_ADAPTIVETESS_Y, (::D3DFORMAT)MAKEFOURCC('A', 'T', 'O', 'C'));

Bei Nvidia muss man erst einen Check durchführen, siehe Artikel. Bei ATI unterstützen alle D3D9-fähigen Karten dieses Feature.

Jemand eine fixe Idee, wie ich eine ATI-Karte erkenne?

Re: [D3D9] AAA aktivieren

Verfasst: 27.06.2010, 21:12
von Aramis
IDirect3D9 -> GetAdapterIdentifier(D3DADAPTER_DEFAULT) -> D3DADAPTER_IDENTIFIER9 -> VendorId == 0x1002

Re: [D3D9] AAA aktivieren

Verfasst: 27.06.2010, 21:28
von Krishty
Thx :)

Alpha to Coverage sieht übrigens furchtbar aus — also nochmal von vorn, und diesmal wirklich AAA :(