DirectX 10+ / Shader Overlay??

Für Fragen zu Grafik APIs wie DirectX und OpenGL sowie Shaderprogrammierung.
Antworten
Benutzeravatar
sirnoname
Beiträge: 67
Registriert: 20.06.2010, 11:04

DirectX 10+ / Shader Overlay??

Beitrag von sirnoname »

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
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: DirectX 10+ / Shader Overlay??

Beitrag von kimmi »

Kurz gesagt: wenn es nützliche Informationen bietet: auf jeden Fall! Die Frage ist, ob es dafür bessere Ansätze als den Sprite gibt, der einfach drüber geklatscht wird. Tutorials habe ich zu dem Thema aber leider nicht anzubieten. Ich schau mal.

Gruß Kimmi
Benutzeravatar
sirnoname
Beiträge: 67
Registriert: 20.06.2010, 11:04

Re: DirectX 10+ / Shader Overlay??

Beitrag von sirnoname »

Hi,

die Overlays bieten in diesem Fall eine Setup Prozedur zur besseren D3D Nutzung in meinem vorgestelltem Projekt zur ingame Datenanalyse.
Insgesammt benutzen ein paar hundert User/Spieler dieses Overlay täglich, wäre also Klasse das man hier etwas weiter kommt.
Die Sprite Overlays sind meines erachtens Resourcenfresser, das mit Shadern einzubauen wäre ein grosser Schritt nach vorne.

Grüße
SirNoName
Benutzeravatar
sirnoname
Beiträge: 67
Registriert: 20.06.2010, 11:04

Re: DirectX 10+ / Shader Overlay??

Beitrag von sirnoname »

Also ich bin ein wenig weiter gekommen.
Ein paar seltene Programmierer haben einige Tipps veröffentlicht, aber nur mit den DXGI Interface, was ja nicht jeder verwendet.
Weiterhin ist PIX bei jeder DX Version mit einem Overlay ausgestattet, also muss es wohl grundsätzlich möglich sein.

Ich bin weiterhin um Tipps dankbar ... evtl. gleiche Projekte?

Grüße
SirNoName
Benutzeravatar
Krishty
Establishment
Beiträge: 8268
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: DirectX 10+ / Shader Overlay??

Beitrag von Krishty »

sirnoname hat geschrieben:[…] Programmierer haben einige Tipps veröffentlicht, aber nur mit den DXGI Interface, was ja nicht jeder verwendet.
Weiterhin ist PIX bei jeder DX Version mit einem Overlay ausgestattet, also muss es wohl grundsätzlich möglich sein.
Es ist grundsätzlich möglich, weil grundsätzlich jede D3D10+-Anwendung auf DXGI aufbaut und deshalb auch jeder, der D3D10+ nutzt, ein DXGI-Interface verwendet. Nur so neben die Tüte kluggeschissen :)

Gruß, Ky
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Antworten