Verwenden Sie HTML als Schnittstelle? [geschlossen]

7

Das Spiel, an dem ich gearbeitet habe, verwendet opengl / sfml für Grafiken. Ich arbeite derzeit an der Benutzeroberfläche und habe festgestellt, dass es schmerzhaft ist, alle richtigen Offsets / Positionierungen usw. zu bestimmen. Um es konfigurierbar zu machen, werde ich wahrscheinlich eine Reihe von XML-Dateien analysieren, die meinem Programm mitteilen, welche Bilder verwendet werden sollen / wo sie stc positioniert werden sollen. für die Schnittstelle.

Da ich das sowieso tun muss, war ich neugierig, ob es möglich ist, einen HTML-Renderer in eine App einzubetten und ihn über in opengl gezeichneten Grafiken anzuzeigen? Auf diese Weise könnte ich theoretisch HTML-Seiten verwenden, um die Schnittstelle zu entwerfen

Wenn es möglich ist, wie schwierig wäre es und ist es eine gute Idee? Gibt es Projekte, die dies bereits tun?

Vielen Dank

user127817
quelle

Antworten:

10

Schauen Sie sich Awesomium an - es verpackt die Chromium-Engine in einen 3D-Renderer und HTML-Benutzeroberflächen sind eines ihrer Hauptverkaufsargumente.

jeffora
quelle
+1: Ich benutze es in einem Spiel. Hier ist ein Video einer frühen Version von Awesomium (mit Navi + Ogre3d) vimeo.com/5654166
Klaim
@Klaim Wie sind die Perfs im Spiel? Ich würde denken, HTML5 ist nicht wirklich für die Schnittstelle geeignet; Ist es einfach, die gewünschten Ergebnisse zu erzielen?
Jonathan Connell
Nun, ich bin in einem bestimmten Fall: Erstens habe ich noch nicht das vollständige Spiel, es ist aus bestimmten Gründen pausiert und ich werde erst Ende dieses Jahres darauf zurückkommen. aber es ist überraschend schnell! Es gibt andere Spiele, die diese Version von Awesomium verwenden, wie dieses Indie-Kart-Spiel. Ich kann mich nicht an den Namen erinnern. Überprüfen Sie auf der Website, Eva EVE Online hat ihre eigene Lösung durch diese ersetzt. Über das Erhalten Ihrer Ergebnisse: Was ich in meinem Spiel brauche, sind gefälschte / spielspezifische Webseiten, also ist es immer das, was ich will ... wenn Sie CSS beherrschen können! Ich benutze es jedoch nicht für alles, das HUD benötigt eine andere Art von Rendering.
Klaim
2
Wolfire verwendet Awesomium für seine Benutzeroberfläche in Overgrowth. Zwei Blog-Beiträge, die beschreiben, wie sie es verwenden, sind hier und hier .
Martin Foot
5

Schauen Sie sich auch libRocket an .

Es basiert auf HTML4, ermöglicht es Ihnen jedoch, es recht einfach mit benutzerdefinierten Komponenten zu erweitern. Wenn Sie ein Reset-Stylesheet importieren, funktionieren Dinge wie h1 und hr, und standardmäßig werden diese Elemente unterstützt .

Es gibt auch Beispiele mit einem SFML-Renderer, der Open Source ist (MIT-Lizenz, mit der Sie ihn problemlos in Closed Source-Projekten verwenden können).

Ich habe es selbst noch nicht mit SFML verwendet, aber mit den Ogre3d-Beispielen war es wirklich einfach einzurichten.

Elva
quelle