Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 11:52

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 15 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: GUI Realisierung
BeitragVerfasst: Sa Nov 26, 2005 21:17 
Offline
DGL Member

Registriert: Mi Jul 20, 2005 18:43
Beiträge: 30
Hallo,

Ich möchte mal wissen wie man am besten ein GUI realisiert.

Meine Idee wäre es jetzt einzelne Menü Teile als eigene Formen mit bsNone und fsStayOnTop zu realisieren, welche man dann auch einfach verschieben könnte, allerdings würde dies ein riesiges Problem mit den verschiedenen Auflösungen der Benutzer geben. Wie könnte man sowas realisieren?

Gibt es eigentlich schon vorgefertige Menu-Komponenten für z.b. eine OpenGL Listbox oder müsst ich die dann selbst entwickeln?

Mir fehlen einfach die Ideen ...

MFG
Maximus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Nov 26, 2005 21:24 
Offline
DGL Member

Registriert: Mi Dez 15, 2004 20:36
Beiträge: 454
Wohnort: Wien, Österreich
Native OpenGL GUI muss man schon selber programmieren. Eine sehr kleine UI habe ich hier benutzt ( selber entwickelt ).

_________________
"Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Nov 27, 2005 00:43 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Also wenn du etwas sinnvolles haben willste müsstest du die schon selber entwickeln. Habe da vor ein paar Tagen auch ein Projekt von mir vorgestellt.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Nov 27, 2005 14:55 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Lossys GL Komponenten sollten für den Delphi+GL Entwicklert die Komponenten der Wahl sein.
Ich selbst baue auch gerade an einer GUI. Allerding basiert die auf SDL und ist in C++ geschrieben. Momentan gibts bei mir:
- Einen funktionstüchtigen Manager für die Formulare und Komponenten
- glForm
- glButton
- glEdit
- glLabel
- Funktionstüchtige Unterstützung von Fonts durch SDL_ttf

Ich könnt ja auch mal ein Projektthead aufmachen... hmmm...mal guckn 8)

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Nov 27, 2005 15:11 
Offline
DGL Member

Registriert: Mi Jul 20, 2005 18:43
Beiträge: 30
So, ich bin nun auch dabei an einem Menü zu schreiben. Ich brauch ja "nur" einen glPanel, glListbox und glLabel entwickeln.

MFG
Maximus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Nov 27, 2005 15:25 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Je nachdem was du für einen Funktionsumfang in der Bedienung haben willst wird entsprechend auch das Handling darunter komplizierter. Label ist ja lediglich ein Text, Panel ist sowieso sehr einfach aber bei einer Listbox. Das ist ein wenig komplexer. Das ist ein scrollbares Fenster mit vielen klickbaren Einträgen. Bei meinen derzeitigen Komponenten habe ich auch sehr viel Wert auf die Tastaturunterstützung gelegt. Das sind alles so Faktoren die es nicht einfacher machen. Du solltest dir auf jeden Fall überlegen was du alles haben willst und ob du das wirklich alles brauchst. Evtl könnte man eine ListBox auch als RadioBoxen darstellen etc. Das würde es schon wieder einfacher machen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Nov 27, 2005 15:44 
Offline
DGL Member

Registriert: Mi Jul 20, 2005 18:43
Beiträge: 30
Nein die Listbox soll nur vom Programm aus mit Einträgen gefüllt werden können, was die Sache schon um einiges einfacher macht. Das einzigste Problem wär dann noch das scrollen.

Aber das ist denke ich auch lösbar ...

Auf jedenfall muss ich jetzt erstmal mit deiner glBitmap.pas klar kommen, da ich mein komplette Projekt von der Texture.pas auf glBitmap.pas umstellen will.

MFG
Maximus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Nov 27, 2005 16:06 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Max!mus hat geschrieben:
Auf jedenfall muss ich jetzt erstmal mit deiner glBitmap.pas klar kommen, da ich mein komplette Projekt von der Texture.pas auf glBitmap.pas umstellen will.


Das geht schnell. Die paar Funktionen die man brauch sind loadFromFile/Stream, genTextur, Bind, und eventuell noch FlipV/H

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Nov 27, 2005 16:15 
Offline
DGL Member

Registriert: Mi Jul 20, 2005 18:43
Beiträge: 30
Ja :) - Hab gerade das Wiki durchgeschaut, glBitmap.pas ist ja sehr gut dort dokumentiert.

MFG
Maximus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Nov 27, 2005 16:34 
Offline
DGL Member
Benutzeravatar

Registriert: Di Sep 06, 2005 18:34
Beiträge: 362
Wohnort: Hamburg
Hi ...

schau dir bezüglich der ListBox mal das NeHe tut 24 an (http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=24 oder http://www.joachimrohde.com ... da wird etwas ähnliches gemacht. Und zwar listet er da alle unterstützten extensions auf in eben so einer nur scrollbaren listbox... den source gibts garantiert auch in delphi ...

gruß
shai

// edit lossy: links korrigiert


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Nov 28, 2005 08:25 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Jan 31, 2005 11:02
Beiträge: 432
Wohnort: Rheinlandpfalz
Hi,
Bin auch grad dabei eine eigene GUI zu basteln.
Momentan habe ich die folgende Komponenten drin: glPanel, glCheckbox, glButton, glImage, glLabel, glListbox
und natürlich auch die Form, die man aber auch nicht anzeigen lassen muss :)
Die Form kann man auch frei verschieben und wenn man möchte auch mit einem Klick auf das X schließen.
Die Listbox war das schwerste, aber jetzt funzt sie, und man kann für jede Schriftgröße die Items selectieren.
Sie basiert auf der TList von delphi. Man kann sie aber auch als Memo benutzen (ohne Selektion).
Wenn interesse besteht kann ich die bald (~1 Woche) mal als Projekt vorstellen und sie für jeden zur Verfügung stellen.
Muss halt nur noch ne Doku dazu schreiben un ein kleines Beispielprogramm.
Ich brauchte auch eine Listbox in meinem Game, und dann habe ich mich eben entschlossen eine 'ganze' GUI draus zu machen.

Wie gesagt, wenn Interesse besteht... Sie kann vielleicht als Übergang zu Lossy's <United Contols ?> dienen...

_________________
http://texelviews.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Nov 28, 2005 13:57 
Offline
DGL Member

Registriert: Mi Jul 20, 2005 18:43
Beiträge: 30
Wow! - Ich hätte nicht gedacht das momentan soviele ein einem GUI arbeiten ...

Jedoch würd ich sagen ist die glListbox, in dem Umfang indem sie ich brauche wohl der einfachste Teil von der ganzen GUI. (Einfach ein weißes Quadrat zeichnen, Text aus einer TList auslesen und ausgeben)

Inzwischen hab ich den ersten Test von dem GUI fertiggestellt (mal noch ohne Listbox). Naja wenn ich ehrlich bin hat alles auser dem glPanel funktioniert (also hat glLabel und das glMenu, indem alle Menübestandteile verwaltet werden, funktioniert) - bzw. er hat im Prinzip schon funktioniert nur die Texture nicht. Er hatte immer die Farbe wie das erste Pixel der benutzten Textur :( . (Ich verwende die glBitmap.pas und glBitmap2D).

Hatte jemand schonmal so ein Problem?

MFG
Maximus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Nov 28, 2005 14:07 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2068
Programmiersprache: C++
Max!mus hat geschrieben:
Wow! - Ich hätte nicht gedacht das momentan soviele ein einem GUI arbeiten ...

Jeder ;)
Zumindest in Ansatzen hat jeder an sowas rumgebastelt.

Max!mus hat geschrieben:
Inzwischen hab ich den ersten Test von dem GUI fertiggestellt (mal noch ohne Listbox). Naja wenn ich ehrlich bin hat alles auser dem glPanel funktioniert (also hat glLabel und das glMenu, indem alle Menübestandteile verwaltet werden, funktioniert) - bzw. er hat im Prinzip schon funktioniert nur die Texture nicht. Er hatte immer die Farbe wie das erste Pixel der benutzten Textur :( . (Ich verwende die glBitmap.pas und glBitmap2D).

Was benutzt du denn? Irgendeine Vorlage oder was selbstgeschriebenes?
An glBitmap sollte es nicht liegen. Da ist ein anderer Fehler.
Der Fehler betrifft nur das Panel?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Nov 28, 2005 14:09 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
In meiner älteren GUI hatte ich auch so mehr oder weniger schon eine ListBox. Richtig spannend wird es erst bei einer ComboBox und überlagernden Elementen + Multiwindow und so was alles. :twisted:

Zu deinem Problem. Würde so spontan mal darauf tippen, dass du entweder gar keine Texturkoordinaten oder gänzlich falsche angegeben hast. Sonst würsste ich keinen Grund warum er nur das erste Pixel der Textur benutzen sollte. Überprüfe das mal bitte. Wenn nicht wäre ein Bildschirmsample ganz hilfreich.

PS: Was meinst du eigentlich mit deinem glMenu?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Nov 28, 2005 15:03 
Offline
DGL Member

Registriert: Mi Jul 20, 2005 18:43
Beiträge: 30
Ich werd es mal testen ... wenn ich drüber nachdenke daran könnte es wirklich liegen :)

Lossy eX hat geschrieben:
PS: Was meinst du eigentlich mit deinem glMenu?


glMenu ist eine Klasse die alle Bestandteile des Menüs verwaltet.

Momentan ist diese Klasse allerdings nur dazu da, damit ich im OnIdle Ereigniss nicht ständig glPanel.Show , glLabel.Show etc. aufrufen muss sondern nur glMenu.Show. Die "Komponenten" tragen sich automatisch im OnCreate Ereigniss die eine ObjectList von glMenu und glMenu geht anschließend diese Liste und zeichnet alles.

Überlegt hab ich mir noch, dass z.b. glMenu die ObjectList so sortiert dass eine Textur nur einmal gebunden werden muss und dann alle Teile mit dieser Textur gleich gezeichnet werden. Allerdings ist hier dass Problem dass manche Teile übereinander gezeichnet werden sollen, und bei einem sortieren teilweise etwas falsches überdeckt wird.

Aber erstmal soll das Grundgerüst laufen. :)

//Nachtrag: Es lag an falschen Textur Koordinaten :roll: - Danke sehr! :)

MFG
Maximus


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 15 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 15 Queries | GZIP : On ]