DirectX 10+ / Shader Overlay??
Verfasst: 23.08.2010, 11:04
Hallo zusammen,
viele Spiele Platformen bieten ingame Overlays mit zusätzlichen Informationen an, wie z.B. Steam, ATI Tray Tools, PIX und XFire.
Diese Overlays werden durch Code Injection erzeugt und zwar wird meistens die Renderübergabe Funktion oder Endscene Funktion abgefangen und um ein Overlay Bild erweitert. Dieses Bild ist meistens ein Sprite, das vor die Kamera geklatscht wird.
Mir ist jedoch aufgefallen, das diese Overlays an Spielen und Grafikengines mit reiner HW Shadern oder höheren DX Versionen scheitern.
Von den jeweiligen Firmen gibt es daher Listen, welche Spiele unterstützt werden.
Ich habe selbst diese Methoden ausprobiert und scheitere ebenfalls bei reinen Shader Spielen. Irgendwie werden die Sprites nicht vor die Kamera gerendert.
Noch lustiger wird es bei DX10 und höher, wo die finalen Render Funktionen nicht mehr existieren.
Nun hat das Diagnose Tool PIX (http://msdn.microsoft.com/en-us/library ... 85%29.aspx) allerdings das Overlay, das ich suche, klappt überall, flackert aber.
Es wäre also machbar.
Nun meine Fragen:
Wie würdet ihr ein Overlay in DX10 und höher realisieren?
Kennt ihr zu diesem Thema schon Tuts oder Ansätze?
Grüße
SirNoName
viele Spiele Platformen bieten ingame Overlays mit zusätzlichen Informationen an, wie z.B. Steam, ATI Tray Tools, PIX und XFire.
Diese Overlays werden durch Code Injection erzeugt und zwar wird meistens die Renderübergabe Funktion oder Endscene Funktion abgefangen und um ein Overlay Bild erweitert. Dieses Bild ist meistens ein Sprite, das vor die Kamera geklatscht wird.
Mir ist jedoch aufgefallen, das diese Overlays an Spielen und Grafikengines mit reiner HW Shadern oder höheren DX Versionen scheitern.
Von den jeweiligen Firmen gibt es daher Listen, welche Spiele unterstützt werden.
Ich habe selbst diese Methoden ausprobiert und scheitere ebenfalls bei reinen Shader Spielen. Irgendwie werden die Sprites nicht vor die Kamera gerendert.
Noch lustiger wird es bei DX10 und höher, wo die finalen Render Funktionen nicht mehr existieren.
Nun hat das Diagnose Tool PIX (http://msdn.microsoft.com/en-us/library ... 85%29.aspx) allerdings das Overlay, das ich suche, klappt überall, flackert aber.
Es wäre also machbar.
Nun meine Fragen:
Wie würdet ihr ein Overlay in DX10 und höher realisieren?
Kennt ihr zu diesem Thema schon Tuts oder Ansätze?
Grüße
SirNoName