PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Suche Vektorbasiertes GUI System für ein 3d Computerspiel


Gast
2007-01-26, 05:16:09
Ich suche ein GUI System für ein Computerspiel welches vektorbasiert ist, SVG Grafiken unterstützt und in einer OpenGL basierten Engine funktioniert.

Plattformunabhängig und möglichst Open Source sollte es übrigens ebenfalls sein.


Normalerweise würde ich ja gerne CEGUI (Crazy Eddie's GUI)
nehmen, aber dieses GUI System basiert auf Rastergrafiken (Bitmaps), d.h. es skaliert nicht.
Von den Features hätte es nämlich alles was ich bräuchte,
außer halt die Skalierfähigkeit durch Vektorgrafiken.

Und da ich mich ganz auf das Spiel konzentrieren möchte, möchte ich daher auch kein eigenes GUI System schreiben, daß lohnt sich nicht.


Gibt es also so etwas ähnliches wie CEGUI, nur Vektorbasiert?




Der Grund ist nämlich der, da es immer höhere Auflösungen bei den Bildschirmen gibt (man denke an HDTV), aber viele Benutzer auch bei den niedrigeren Auflösungen 1024*768 bleiben da ja nicht jeder seinen Rechner jedesmal neu aufrüsten möchte.
D.h. es gibt Leute die Spielen bei 1600*1200 oder noch höher (1920*xxxx) und dann wiederum Leute die Spielen bei 1024*768. Und die Bildschirme mit 16:10 Seitenverhältnis machen die Arbeit bei einer bitmap basierten GUI auch nicht leichter.

Das bedeutet, daß das Spektrum an möglichen Auflösungen so groß ist, daß es keine bitmap basierte GUI
gibt, die alles abdecken kann, man müßte also für jede Auflösung ein extra GUI Skin erstellen.
Bei einem Vektorbasierten GUI System könnte man sich diese Arbeit aber sparen, da die GUI mit der Auflösung mitskalieren kann und die Schrift und Icons nie zu groß oder zu klein werden, da sie immer optimal sein können
wie es der Entwickler vorgesehen hat.

Xmas
2007-01-28, 02:49:18
Mir ist da nur das kommerzielle Scaleform GFx bekannt, welches im Prinzip ein Flash-Player mit D3D- und OpenGL (ES)-Renderer ist. Vorteil dabei ist, dass die gesamte GUI (oder animierte Texturen wenn man will) inklusive Scripting in Flash Studio erstellt werden kann.

rotalever
2007-01-28, 13:55:01
Cool wäre ein ganz normales GUI system, wo man die Buttons als SVG einspeisen kann, die dann z.B. über Cairo je nach Auflösung und Zoomfaktor in Texturen gerendert werden und dann gezeichnet.

Prinzipiell kann man da eigentlich jedes Bitmap fähige GUI-System, dass für OpenGL ausgelegt ist nehmen:
Beim Starten des Programms und jedes Mal wenn der Benutzer Auflösung/Zoomstufe ändert -> Alles Vektorgraphiken z.B. mit Cairo in Bitmaps rendern -> alte Bitmaps des GUI-Systems freigeben, die neuen Bitmaps definieren und fertig.

So könnte man das eigentlich kombinieren. Für das rendern gibt es ja wie gesagt entsprechende Bibliotheken. Es ist dabei unbedingt darauf zu achten NICHT on-the-fly bei jedem Frame neu zu rendern, sondern das ganze in Bitmaps zu cachen und nur zu ändern, falls der Benutzer die Einstellungen wechselt!