Seite 1 von 1

OpenGL 1.1+2 // OpenGL ES 2 // WebGL

Verfasst: 07.10.2014, 18:36
von shadow
Hallo,

ich hoffe Ihr könnt mir ein bisschen die Verwirrung nehmen, die ich mit dem Zusammenhang der verschiedenen Versionen im Thread-Titel habe.
Ich will es nicht zu kompliziert erklären, leider ist die Sache leicht verworren...

Ich habe eine selbstgestrickte Spiele-Library, basierend auf OpenGL. Anfangs gab es nur einen Renderer für PC, umgesetzt mit OpenGL 1.1. Der Render-Schicht ist so abstrahiert, so dass ich recht problemlos auf Android portieren konnte, wo ich OpenGL ES 2 benutze, was ja schon ein bisschen Shader kann (kenn mich damit überhaupt nicht aus, aber man braucht es um überhaupt was zu rendern). Idee war jetzt, den PC-Renderer auch auf OpenGL 2 zu heben, auch deshalb eine gute Idee, dachte ich, weil ich perspektivisch auch den Browser als Ziel-Plattform gerne hätte, der ja mit WebGL auch irgendwie auf OpenGL (ES) 2 aufbaut...

Problem ist jetzt: Das "Zurück"-portieren von Android-OpenGL ES 2 zu OpenGL 2 für PC ist gar nicht so einfach, bestimmte Commands scheint es in der API nicht zu geben... Stell ich mir alles zu einfach vor? Was ratet ihr mir, wenn ich ähnlichen OpenGL Code für PC, Android, (iOS), WebGL haben möchte?

VG Stefan

Re: OpenGL 1.1+2 // OpenGL ES 2 // WebGL

Verfasst: 07.10.2014, 19:41
von dot
shadow hat geschrieben:Was ratet ihr mir, wenn ich ähnlichen OpenGL Code für PC, Android, (iOS), WebGL haben möchte?
Ich hab nicht viel Erfahrung damit, aber meine Überlegung dazu: Du willst am PC wohl sowieso kaum den selben Code wie am mobilen Gerät haben, weil es sich da um grundverschiedene Formen von Grafikkarten mit völlig anderen Eigenschaften handelt...

Re: OpenGL 1.1+2 // OpenGL ES 2 // WebGL

Verfasst: 07.10.2014, 20:56
von snoob741
Ich habe auch einmal eine Weile OpenGL 2.x und OpenGL ES 2.x parallel genutzt. Es geht, ist aber wie Du schon selbst gesagt hast mit einigen Tricks verbunden, da die API Befehle von OpenGL ES 2.x sehr dürftig sind und vieles nicht unterstützen. Soll sich ja langsam mit OpenGL ES 3.x ändern, was dann aber eher mit OpenGL 3 gleichzusetzen ist und auch da gibt es massig Abstriche.

Selbst habe ich inzwischen OpenGL 2.x verworfen, da die wirklich wichtigen Features erst ab 3.x unterstüzt werden und man auch endlich die Fixed Function Pipeline los ist ... Und würde meine Graka mitspielen, hätte ich mit sicherheit auch schon auf OpenGL 4.x gewechselt ... noch mehr tolle Features 8-)

Ich hab mit WebGL noch nicht gespielt, aber wenn ich das richtig verstehe und Du den sowieso den Browser als Zielplattform anpeilst, wozu dann noch der pure OpenGL port?

Re: OpenGL 1.1+2 // OpenGL ES 2 // WebGL

Verfasst: 09.10.2014, 08:30
von shadow
@dot:
Es ist so (was ich vergessen habe zu erwähnen): Es handelt sich nur um 2D, d.h. fast ausschließlich "textured quads". Deshalb hatte ich schon die Hoffnung, sehr ähnlichen Code benutzen zu können, um den Portierungs-Aufwand bei neuen Features zu minimieren...

@snoob741:
An der Sache wundert mich eher, dass ich ja von der eingeschränkten ES API Probleme habe auf das "große" PC OpenGL zurückzugehen... aber vielleicht muss ich mich da noch mehr durchbeißen, und hier dann u.U. gleich Detail-Fragen stellen...

Der Browser soll eine weitere Ziel-Plattform werden. Am liebsten würde ich wie Unity überall hin kommen :) ...halt Stück für Stück.