Seite 1 von 1

Gute GUI LIB

Verfasst: 22.03.2010, 18:19
von Jonathan
Ich suche für mein RPG noch eine GUI Lib. Nunja, für normale Anwendungen gibt es ja diverse (wxWidgets, Qt, GTK) aber Ingame GUIS kenne ich schon wesentlich weniger. CEGUI ist ja relativ prominent, aber ich hab auch einiges negatives drüber gehört. Im Moment überlege ich an MyGUI, und viel mehr Alternativen hab ich derzeit auch gar nicht.

Ich programmiere mit C++ und OpenGL, ohne fertige Engine, nur mit ein paar kleinen Libs wie glew oder glfw. Das ganze soll später auch cross-Plattform laufen.

Ein Problem, das ich sehe, ist, dass ich einige der Widgets wohl selber schreiben werden müsse. Ich meine ein RPG-Inventar ist ja jetzt kein Standardwidget, und eine schicke, kugelförmige Lebensenergieanzeige auch nicht. Aber die gehören nunmal dazu und deshalb würde ich auch gerne alles mit der selben Lib machen.

Auf alles selber machen, hab ich auch irgendwie keine Lust, denn das ist eine Menge Arbeit und ich habe so schon genug zu tun.

Also ich brauche eine Bibliothek, die crossplattform mit C++ und Ogl funktioniert, sich leicht und effizient erweitern lässt, und natürlich grafisch auch gut anpassen lässt.

Re: Gute GUI LIB

Verfasst: 22.03.2010, 18:59
von Schrompf
Wir suchen übrigens dasselbe... nur vielleicht als DirectX-Variante :-)

Die CEGUI ist ein ziemliches Monster, hab ich den Eindruck. Und anscheinend kriegt selbst die es nicht hin, pixelfehlerfrei 2D-Elemente in verschiedenen Auflösungen nebeneinander zu platzieren. MyGUI ist wegen der Abhängigkeit von Ogre schon durchgefallen. Wir stehen aktuell also auf dem Standpunkt, dass an Selberschreiben kaum ein Weg vorbeiführt.

Re: Gute GUI LIB

Verfasst: 22.03.2010, 19:27
von Jonathan
Naja, MyGUI hat ja jetzt angeblich einen speraten DX und OpenGL renderer, ich hab natürlich keine Ahnung, ob jetzt wirklich keine fiesen Abhängigkeiten mehr drin sind, aber theoretisch klingt das ja gut.

Re: Gute GUI LIB

Verfasst: 23.03.2010, 08:25
von jgl
Hi,

also ich benutze für mein Spielchen CEGUI, und bin eigentlich damit ziemlich zufrieden.
Pixelfehler habe ich da auch noch nicht gesehen.
Über MyGUI habe ich gehört, sie soll theoretisch OpenGL und DirectX unterstützen, aber ist noch zu buggy!

Ja, CEGUI ist schon etwas gewöhnungsbedürftig, aber es lässt sich viel damit realisieren!

Gruß j...

[Edit]
Desweiteren habe ich noch eine OpenGL GUI-Lib gefunden, bin da über die Seite/Link von "MakeHuman" gestolpert.
Über Google gibt es da noch:
http://www.bramstein.com/projects/gui/
und
http://www.antisphere.com/Wiki/tools:anttweakbar
[/Edit]

Re: Gute GUI LIB

Verfasst: 23.03.2010, 13:36
von Jonathan
Hm, das erste kenne ich noch nicht, das werde ich mir mal ansehen.
Zu AntTweakBar: Ich glaube das will gar nicht für Spielmenüs und Inventarbildschirme benutzt werden. Ist sicherlich eine tolle Sache, wenn man Parameter über eine grafische Oberfläche angeben kann, aber für mehr ist das Ding scheinbar nicht gedacht und ich glaube man wird auch nicht wirklich glücklich, wenn man es soweit erweitert, wie man es für richtige Menüs bräuchte.

Re: Gute GUI LIB

Verfasst: 24.03.2010, 11:45
von Thoran
Jonathan hat geschrieben:Naja, MyGUI hat ja jetzt angeblich einen speraten DX und OpenGL renderer, ich hab natürlich keine Ahnung, ob jetzt wirklich keine fiesen Abhängigkeiten mehr drin sind, aber theoretisch klingt das ja gut.
Also ich hab mich für MyGui entschieden, allerdings in Verbindung mit OGRE. Beim kompilieren hat man außer Freetype und OIS keine Abhängigkeiten außer denen für den Renderer. Was ich faszinierend finde ist die Möglichkeit die GUI bzw. GUI-Element in eine Offscreentextur zu rendern und so auf ein beliebiges 3D-Modell zu packen (siehe Video). Leider gibt es dazu kein beigepacktes Beispiel für den schnellen Einstieg.

Thoran

Re: Gute GUI LIB

Verfasst: 24.03.2010, 12:59
von Jonathan
Nur weil wir grob beim Thema sind:
Wäre OIS so DIE Alternative zu DInput? Also:
D3D->Ogl
DSound->OAl
DInput->OIS
Oder was gibt es sonst grundsätzlich in der Richtung?

Re: Gute GUI LIB

Verfasst: 24.03.2010, 13:05
von Aramis
OIS ist eine gute Alternative, aber DInput solltest du überhaupt nicht mehr verwenden. Microsoft rät davon ab - entweder normale Windows-Messages, oder Raw-Input.

Re: Gute GUI LIB

Verfasst: 25.03.2010, 00:00
von Seraph
Aramis hat geschrieben:Microsoft rät davon ab - entweder normale Windows-Messages, oder Raw-Input.
Interessant, kennst Du die genaue Begruendung dafuer?

Re: Gute GUI LIB

Verfasst: 25.03.2010, 00:06
von Aramis
Ich bin mir nicht mehr absolut sicher, glaube aber irgendwo aufgeschnappt zu haben dass ein aktuelles DirectInput nur noch einen Thread anlegt und darin RawInput pollt.
Edit, gefunden:
DirectInput is a set of API calls that abstracts input devices on the system. Internally, DirectInput creates a second thread to read WM_INPUT data, and using the DirectInput APIs will add more overhead than simply reading WM_INPUT directly. DirectInput is only useful for reading data from DirectInput joysticks; however, if you only need to support the Xbox 360 controller for Windows, then use XInput instead. Overall, using DirectInput offers no advantages when reading data from mouse or keyboard devices, and the use of DirectInput in these scenarios is discouraged.
Also nur noch für Joysticks, und da steht dann an mindestens 10 Stellen dass XInput zu bevorzugen ist.

Re: Gute GUI LIB

Verfasst: 25.03.2010, 00:50
von Seraph
Super, danke Dir.

@Topic: Ich wuerde Dir ja meine GUI anbieten, aber zum einen ist sie fuer .net und DX und zum anderen denke ich staendig: "Noch soooo viel zu tun." :S Und im Moment habe ich gar keine Zeit. :(