GUI mit DirectX 11
-
Hallo, ich möchte ein GUI-system mit direktx schreiben. Es soll sich nur auf die GUI beschränken, also nur 2D-Darstellung. Ich will damit ein System schreiben, mit dem man moderne GUI elemente darstellen und verwalten kann.
Später soll man derartige menüs erstellen können:
http://speckycdn.sdm.netdna-cdn.com/wp-content/uploads/2011/10/gui_templates_05.jpgSollte (könnte) ich dafür DX verwenden? Oder womit soll man GUI systeme schreiben?
Warscheinlich sowieso nicht mit DX, aber ist der gedanke komplett daneben oder theoretisch möglich? GUI-systeme bestehen doch eigentlich aus einem schnellen 2d renderer und einem eventmenagement ?! für das rendering müsste direktx doch normal perfekt sein oder?Wie ist eure meinung dazu?
-
Hallo,
klar ist das möglich und wird auch benötigt, wenn man DirectX (insbesondere für 3D) einsetzt, wie z.B. für Spiele, um Menüs und Overlay-Anzeigen zu erstellen.
Wieviel Zeit willst du denn damit verbringen? Und wie sind deine Kenntnisse über DirectX? Du wirst ersteinmal einen Font- und Shader-Renderer benötigen (und hier würde ich dir raten, einen vorhandenen zu nehmen, falls du einen im Internet findest, denn dies ist ein großer Aufwand).Wofür möchtest du denn dann diese GUi verwenden?
P.S. Ich selber habe für ein bekanntes RPG die UI-Lib (mit-)entwickelt - noch auf Dx9 aufsetzend - daher weiß ich wieviel Aufwand dahintersteckt. Alleine einen WindowManager (für Event-Messaging etc.) zu entwickeln, kann Monate in Anspruch nehmen. Und bei den einzelnen Controls mußt du dann auch noch zwischen Funktionalität und Layout (Design) unterscheiden.
PPS. Unter http://www.rastertek.com/tutdx11.html gibt es ein DirectX 11 - Tutorial u.a. mit 2D- und Font-Renderer (Kap. 11 + 12)...
-
das ganze soll ein großprojekt werden. ich hab ja zeit (schüler)
ich will es später für ein projekt mit einem command line interface nutzen. wie cmd.exe nur DEUTLICH erweitert.
außerdem werde ich verschüsselungsprogramme schreiben. aber das ist zukunftsmusik, soll möglichst variabel bleiben und die basis der bibliothek soll erstmal alles zulassen. ich habe vor die bibliothek in zwei teile auzuteilen. einmal den CORE wo grundlegende strukturen, eventmgr usw. drin sind und einen layout part der im groben eine sammlung an controll interfaces (buttons, usw.) ist.
-
schau dir crazy eddies UI an, das macht was du implementieren willst, koennte interesant sein
-
benutze doch einfach QT
Was auch interessant sein könnte:
http://code.google.com/p/gwen/
http://www.antisphere.com/Wiki/tools:anttweakbar
-
Warum muss es DirectX sein?
-
Warum muss es DirectX sein?
weil ich directx mag und mich noch weiter einarbeiten will. außerdem, ich will was eigenes machen und qt gibt es ja schon ..mir geht es da auch eher um den Lernprozess.
-
wie kann man eigentlich in directx nur teile des fensters neuzeichen?
Wäre ja irgentwie unlogisch alle gui dinger neu zu zeichnen, wenn sich nur eins ändert. Windows ermöglicht doch mit invalidateRect auch etwas derartiges.
-
Scissor Rectangle -> http://msdn.microsoft.com/en-us/library/windows/desktop/bb205126(v=vs.85).aspx
-
okay, sieht gut aus
noch eine andere frage, habt ihr eine idee, wie die bei visual studio 2012 und allen vorherigen versionen das coding fenster gemacht haben? mit textmarkierung, vorschlägen, fehlermarkierung, und und und...
-
gamer8o4 schrieb:
noch eine andere frage, habt ihr eine idee, wie die bei visual studio 2012 und allen vorherigen versionen das coding fenster gemacht haben? mit textmarkierung, vorschlägen, fehlermarkierung, und und und...
Afaik mit WPF, was unter der Haube letztendlich Direct3D verwendet...
-
Schau einfach mal in entsprechenden Code: Der Code vom QtDesigner ist z. B. offen