JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=755f9276b678ee008a67690d55939d56Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

DirectX UI

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
RebornX
JLI'ler



Anmeldedatum: 16.03.2007
Beiträge: 169

Medaillen: Keine

BeitragVerfasst am: 17.05.2008, 20:49    Titel: DirectX UI Antworten mit Zitat

hi,

ich habe mir mal diese AntTweakbar geladen^^
Das soll ja so eine UI für DirectX sein, aber ich würde gern mal wissen was das prinzip eines solchen buttons in DirectX ist ^^
sind das einfach nur surfaces wie aus der 2D programmierung ?
hat einer schonmal buttons in directx geproggt??
_________________
Besucht meine Seite:
www.cpparchiv.dl.am
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Dr. Best
Senior JLI'ler


Alter: 34
Anmeldedatum: 17.06.2004
Beiträge: 269
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 17.05.2008, 21:27    Titel: Antworten mit Zitat

Ich kenn die API zwar nicht, aber ich wette um jeden Preis, dass das vortransformierte triangle quads sind Laughing . Also einfach zwei dreiecke mit RHW Koordinaten (also bereits im projection space), die dann durch Direct3D auf den Bildschirm gebracht werden. Mach ich bei meinem UI system auch so. DirectDraw is schlicht und einfach nicht mehr zeitgemäß. Grafikkarten sind halt nur noch für schnelle 3D Darstellung gemacht. So weit ich weiß wird DirectDraw heutzutage auf den meisten Karten auch sozusagen durch Direct3D emuliert.
_________________

Ich bin da, wer noch?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name MSN Messenger
RebornX
JLI'ler



Anmeldedatum: 16.03.2007
Beiträge: 169

Medaillen: Keine

BeitragVerfasst am: 18.05.2008, 16:53    Titel: Antworten mit Zitat

ich habe das jetzt so gemacht.
Ich habe die größe des backbuffers auf die größe des anwendungbereich des fensters (ohne titelleiste und so) mit getclientrect gesetzt.
dann habe ich ein rhw viereck erstellt.
Und mithilfe der windows message WM_LBUTTONDOWN und lparam habe ich den button eingegrenzt.

Ich bin mir sicher das ist nicht die eleganteste lösung ^^
Hat da jemand evtl ne bessere idee ??
_________________
Besucht meine Seite:
www.cpparchiv.dl.am
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 20.05.2008, 16:50    Titel: Antworten mit Zitat

naja so wie der Doktor sagt Razz also einfache quads aus 2 dreiecken. entweder vortransformiert (mit RHW) oder untransformiert zum rendern. letzteres bietet dynamik für "besondere" buttons, ist aber langsamer. Die Maus könntest du mit DInput lesen. Bei solchen Sachen würde ich nicht die WinAPI nutzen, da du mit DInput exklusiven (oder zumindests direkten) Zugriff auf die Maus hast und du nicht von der WinProc Routine abhängig bist.

Gruß DXer
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
RebornX
JLI'ler



Anmeldedatum: 16.03.2007
Beiträge: 169

Medaillen: Keine

BeitragVerfasst am: 20.05.2008, 19:24    Titel: Antworten mit Zitat

DirectXer hat Folgendes geschrieben:
naja so wie der Doktor sagt Razz also einfache quads aus 2 dreiecken. entweder vortransformiert (mit RHW) oder untransformiert zum rendern. letzteres bietet dynamik für "besondere" buttons, ist aber langsamer. Die Maus könntest du mit DInput lesen. Bei solchen Sachen würde ich nicht die WinAPI nutzen, da du mit DInput exklusiven (oder zumindests direkten) Zugriff auf die Maus hast und du nicht von der WinProc Routine abhängig bist.

Gruß DXer


Ja nur ich finde in der directX Doku keine Funktion, die die aktuelle cursor position wiedergibt, sondern nurfunktionen die sagen in welche richtung die maus bewegt wurde ^^ Crying or Very sad
_________________
Besucht meine Seite:
www.cpparchiv.dl.am
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 20.05.2008, 20:06    Titel: Antworten mit Zitat

weil ne Maus keine Position hat. Woher soll die wissen, wo am Tisch die ist?

Also wirst du wohl den Cursor auf Position xy setzen und dann entsprechend der Mausbewegungen verschieben.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Dr. Best
Senior JLI'ler


Alter: 34
Anmeldedatum: 17.06.2004
Beiträge: 269
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 20.05.2008, 20:18    Titel: Antworten mit Zitat

RebornX hat Folgendes geschrieben:
Ja nur ich finde in der directX Doku keine Funktion, die die aktuelle cursor position wiedergibt, sondern nurfunktionen die sagen in welche richtung die maus bewegt wurde ^^ Crying or Very sad

Wenn du die Cursorposition auf dem Bildschirm abfragen willst kannst du einfach GetCursorPos(...) benutzen (siehe MSDN Wink ). Für UIs is das sinnvoll.
_________________

Ich bin da, wer noch?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name MSN Messenger
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum