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

Aktuelle Zeit: Sa Jul 05, 2025 22:37

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 21 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: GUI erstellen
BeitragVerfasst: Mi Sep 24, 2008 20:21 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
HI,

gibts ne gute Unit oder n Prog, mit der/dem man schnell und easy das GUI erstellen kann? oder muss ich mir das selbst was zamm friemeln?
schonma danke^^

MfG Bergmann.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 25, 2008 09:08 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Programm GUI oder OpenGL GUI ?
Für Software kannst du z.b. wxWidget mit wxFormBuilder nehmen(cross) oder Borland C++ Builder mit VCL für Windows oder eine freie Delphi Version für Windows.

Bei OpenGL fällt mir keine Lib ein, die ein GUI Editor mit liefert, ausser Irrlicht.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 25, 2008 09:16 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Jan 31, 2005 11:02
Beiträge: 432
Wohnort: Rheinlandpfalz
Hey,
eine GUI für OpenGL hab ich schon mal zusammengebaut. Sie ist zwar schon etwas betagt, aber durchaus funktionsfähig.
Einfach mal auf meiner Site nachschauen.
Wenn du noch ein bisschen Zeit hast, kannste warten bis Traude die dglGUI fertig hat, die sehr wahrscheinlich wesentlich besser wird als meine, da sie einfach mehr Ahnung in dem Bereich hat, schätze ich. 8) :wink:

_________________
http://texelviews.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 25, 2008 16:27 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
HI,

ich such ein OpenGL GUI. Danke für die Infos. Ich schau mal vorbei...

MfG Bergmann.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 25, 2008 17:49 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ich stehe vor der Veröffentlichung einer Java OpenGL GUI. Die ist bei mir schon seit >1 Jahr im Einsatz und hat sich z.B. bei "Balance" bewährt.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 25, 2008 18:19 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
@Flash: wann is die Veröffentlichung ungefähr? Und geht die dann auch mit Delphi?
@MatReno: Hab deine glWindow.pas ma angesehen. Ich such ne Art Memo, bei dem man auch Scollen kann. Bei deiner ListBox/Memo funzt da ja net... Ich hab mir darüber auch ma Gedanken gemacht un der einzige weg der mir jetzt einfällt ist, den Text auf ne Textur zu rendern (in der max. Breite des Memos) und dann die Textur zu "scrollen". Aber auf eine Textur rendern soll ja nich grad sehr schnell sein. Kann man das auch noch irgendwie anders machen??

Mfg Bergmann.

p.s: zur Textausgabe benutz ich die TextSuite von LossyEx.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 25, 2008 19:14 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 16, 2003 15:20
Beiträge: 198
@Texturrendern: ist auf aktuellen Grafikkarten nicht mehr so schlimm

Alternativ könntest du auf den Stencil-Buffer zurückgreifen (s. Spiegeltutorial), um die Ausgabe auf einen Bereich zu beschränken und dann mit normalen Translate's scrollen.

Oder du machst es ganz auf Software Seite und prüfst bei jedem Buchstaben ob er sichtbar, beschnitten oder unsichtbar ist.

@Java-GUI mit Delphi nutzen: Wenn es da nicht mir vollkommen unbekannte Techniken gibt sollte das nicht möglich sein.

_________________
Bevor du definierst, was etwas ist, versichere dich seiner Existenz.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 25, 2008 21:21 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
OK,

da mach ich das mit der textur. Grund is der "Nachtrag (Oktober 2005)" aus dem Spiegeltut.
Kann ich da einfach glCopyTexImage2D benutzen, oder würde sich ein FBO besser eignen?

€: ich machs doch lieber mit dem Stencil-Buffer. Textur sieht scheiße aus xD
alles voll verzogen -.-

€2: habs jetzt mit dem Stencil-Buffer probiert, aber irgendwie geht das nich...ichhab den Code fast 1 zu 1 aus dem Tutorial kopiert, aber bei mir will das einfach net! -.-

Code:
  1. procedure TForm1.Render;
  2. begin
  3. glMatrixMode(GL_MODELVIEW);
  4. glLoadIdentity;
  5.  
  6. glClear(GL_DEPTH_BUFFER_BIT or GL_COLOR_BUFFER_BIT or GL_STENCIL_BUFFER_BIT);
  7.  
  8. glTranslatef(0, 0, -4);
  9.  
  10. // Stencilpuffer vorbereiten
  11. glColorMask(False, False, False, False);
  12. glEnable(GL_STENCIL_TEST);
  13. glStencilFunc(GL_ALWAYS, 1, 1);
  14. glStencilOp(GL_KEEP, GL_KEEP, GL_REPLACE);
  15. glDisable(GL_DEPTH_TEST);
  16. glDisable(GL_TEXTURE_2D);
  17.  
  18. //Maske zeichnen
  19. glColor4f(1,1,1,1);
  20. glBegin(GL_QUADS);
  21.   glVertex3f(-0.5, 0.5, 0);
  22.   glVertex3f(-0.5,-0.5, 0);
  23.   glVertex3f( 0.5,-0.5, 0);
  24.   glVertex3f( 0.5, 0.5, 0);
  25. glEnd;
  26.  
  27. glEnable(GL_TEXTURE_2D);
  28. glEnable(GL_DEPTH_TEST);
  29. glColorMask(True, True, True, True);
  30. glStencilFunc(GL_EQUAL, 1, 1);
  31. glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP);
  32.  
  33. //sich drehendes Dreieck
  34. glPushMatrix;
  35.   glRotatef(Angle,0,1,0);
  36.   glColor4f(1,1,1,1);
  37.   glBegin(GL_TRIANGLES);
  38.     glColor3f(1,0,0); glVertex3f(   0, 1, 0);
  39.     glColor3f(0,1,0); glVertex3f(-1.1,-1, 0);
  40.     glColor3f(0,0,1); glVertex3f( 1.1,-1, 0);
  41.   glEnd;
  42. glPopMatrix;
  43.  
  44. SwapBuffers(DC);
  45. end;


ich seh immer bloß das bunte dreicke was sich dreht...
kann mir da jmd helfen?

MfG Bergmann.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Sep 26, 2008 06:15 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 16, 2003 15:20
Beiträge: 198
hast du bei der OpenGL-Initialisierung den Stencilbuffer eingeschaltet ?
(da ist dieser Teil, bei dem du lauter Bit-Größen setzt, da muss der Wert für den Stencilbuffer>0 sein)
hab leider gerade keinen Compiler in reichweite, sonst könnte ichs dir genauer sagen.

_________________
Bevor du definierst, was etwas ist, versichere dich seiner Existenz.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Sep 26, 2008 07:49 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Also zum Beschneiden von viereckigen Bereichen gibt es den Befehl glScissor. Damit definiert man ein Viereck und alles was außerhalb liegt wird abgeschnitten. In einer Gui muss man sich gar nicht mal mit dem Stencilbuffer rumschlagen, da eh fast alles nur viereckig ist.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Sep 26, 2008 08:50 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Jan 31, 2005 11:02
Beiträge: 432
Wohnort: Rheinlandpfalz
Jo, mein Memo alias ListBox kann eigentlich kaum was. Liegt daran, dass ich keine Lust hatte dies zu implementieren.
Für mein damaliges Projekt brauchte ich das net.
Was mir jetzt noch einfällt:
Bei Andorra2D ist glaub ich auch ne sehr gute GUI dabei. Kannst ja mal im Projekte Forum suchen.

//Edit:
Wenn es dir nix ausmacht immer nur ganze Zeilen weiter zu scrollen, kannst du dir ja das mit dem Scissor etc. sparen,
dann geht das ja auch so.

_________________
http://texelviews.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Sep 26, 2008 09:00 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Mit I0n0s hab ich in X-Dream eine sehr gute GUI mit Memo, Listen, Iconbars, Texten, Themes, XML based Formularen und so weiter gebaut aber ist die so stark in X-Dream eingebaut und der Code wird auch nicht mehr gepflegt, dass ich eher davon abraten würde sie produktiv zu verwenden.
Meine letzte Pascal GUI würde dir auch nicht viel bringen, die ist zwar mit und ohne OpenGL funktionsfähig aber ist Vektorbasiert und hat ne sehr bescheidenen Grafiksupport. http://karmarama.developer-alliance.org/upload/Bildschirmfoto-OGL-1.png
Es dient halt noch als gute Vorlage, solange Traude's neue Auflage von dglGUI noch nicht da ist, würde ich wohl zu einer der hier gelisteten GUIs raten.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Sep 26, 2008 13:23 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
Tomok hat geschrieben:
hast du bei der OpenGL-Initialisierung den Stencilbuffer eingeschaltet ?

Ich glaub nich, jedenfalls stand davon nix im Tutorial, aber das arbeitet ja auch noch mit der OpenGL12.pas, is das da evtl. anders?

@LossyEx: die Parameter von glScissor sind aber Pixel und keine Koordinaten. und da weiß ich nich wie ich das umrechnen soll?!

MfG Bergmann.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Sep 26, 2008 19:42 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Was das umrechnen betrifft: Das sollte das geringere Problem sein (vorerst). Es sei denn du bist so wahnsinnig und renderst deine GUI im Perspektivischen Modus, das ist nicht empfohlen. Im Orthomodus sind das nichts weiter als ein paar additionen... Irgendwo hatten wir hier auch schonma so nen thread... ahja, hier.

Dort hatte ich eine hand voll Funktionen gepostet, die das benutzen von Scissoring bei GUIs erleichtern. Tun bei mir auch wunderbar ihren dienst, musst halt schauen, ob du das für dich verwenden willst/kannst. Und als letzten Post im Thread gibts auch noch ne nette kleine Zeichnung.

Gruß Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Sep 27, 2008 01:55 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
HI,

bis jetzt hab ich im perspektivischen Modus gerendert. Ich hatte probiert im Ortho modus zu rendern, aber irgendwie hat der aufruf von glOrtho nix gebracht und am ende war trotzdem alles perspektivisch...
Wie mach ich das? Muss das GUI da in ne Textur rendern?

MfG Bergmann.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 21 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 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.010s | 15 Queries | GZIP : On ]