OpenGl 1.1 (LWJGL GL11.*) und weiter?

U

UndWeiter?

Gast
Hallo,
ich programmiere noch nicht so lange,
um die 5 Jahre, ich bin jetzt 16. (Das erstmal als kleiner Intro, damit ihr mich eventuell einschätzen könnt)
Seit geschätzt einer Woche versuche ich mich jetzt an openGl über die LWJGL, das klappt auch ganz gut.
Ich habe mein erstes kleines 3d Spiel geschrieben...
Zum openGl lernen habe ich diese Tutorials benutz.
Soll heißen:
Code:
GL11.glBegin(GL11.GL_QUADS);
Code:
...
Code:
GL11.glEnd();
Eventuel auch mal:
Code:
GL11.glNewList(blubID, GL11.GL_COMPILE);
Naja, ihr wisst in welche Richtung das geht.

Die Tutorials sind allerdings teilweise noch von 2003.
Da wird ja inzwischen mehr möglich sein, grob gehört habe ich z.B. von VBO oder so ;).
Deshalb wollte ich jetzt gerne 'ein paar openGl Versionen' aufsteigen, und suche dazu geeignetes Tutorialmaterial. Mein Problem ist, das ich z.B. auf solchen seiten (auch wenn sie ein gutes Grundverständnis liefert) nicht fähig bin den Code zu poriteren, weil sich die original openGl API und die der LWJGL vielleicht gleichen, dann aber in manchen Details, zumindest für mich, zu groß unterscheiden, oder eben zu klein...

Meine eigentliche frage also:
Welche openGL Version sollte ich lernen? Die ganz neuen werden ja auch nicht von jedem überall unterstützt. Und dann, ob ihr eventuell irgendwelche openGl Tutorials kennt? Es würde eigentlich ein beiliegender Java-Code reichen, ich behaupte einfach mal, ich kann ganz gut lernen, indem ich mich in fremd Code vertiefe.
Viele Grüße,
UndWeiter?
 

Network

Top Contributor
Darauf kann man nicht antworten "lerne OpenGL X.X". Die OpenGL Version 1.1 enthält alle grundlegenden Dinge die man braucht für eine 3D Darstellung.
Die späteren Versionen erweitern nur die Funktionalitäten bzw. Optionen zur Darstellung. Da kommen dann halt ein paar mehr mögliche Methoden hinzu.
Es ist das selbe mit Java, man kann nicht fragen "welche Java Version sollte ich lernen".

Geh auf OpenGL ? Wikipedia und such dir die Version raus, die alle Funktionalitäten unterstützt die du brauchst.
Brauchst du für dein nächstes Projekt mehr, dann steig auf eine höhere Version um und lern 2/3 neue Methoden dazu ^^

Allgemein gilt, dass die Tutorials von 2003 auch immernoch für die neuesten OpenGL Versionen gilt.

Gruß
Net
 

Marco13

Top Contributor
Das kann man so nicht sagen. OpenGL 1.1 enthält Funktionen, die offiziell als "deprecated" markiert sind. D.h. man sollte sie (eigentlich) nicht mehr verwenden. Man kann zwar davon ausgehen, dass sie auch von zukünftigen Versionen noch unterstützt werden, weil sonst die ganzen CAD-Hersteller mit Fackeln und Mistgabeln bei den Grafikkartenherstellern aufkreuzen würden, aber wenn man schon lernt, sollte man nicht die Sachen lernen, die schon "veraltet" sind.

Bedauerlicherweise ist die OpenGL Welt vom OpenGL 1.x, die auf dem Redbook abgebildet war (ja, die aus Lego :D ) inzwischen auseinandergenommen worden, und OpenGL 4.x hat mit 1.x nicht mehr viel zu tun. Das kann man finden, wie man will, aber an VBOs und Shadern kommt man praktisch nicht mehr vorbei - ja, auch wenn man nur ein einzelnes Dreieck rendern will (und ja, auch wenn das die Einstiegshürde deutlich erhöht...).

Das Problem, das die meisten Tutorials veraltet sind, wird immer wieder erwähnt, wenn hier nach OpenGL-Tutorials gefragt wird (*wink mit dem Forensuch-Zaunpfahl*).

Ein aktuelles "Tutorial" (bzw. Buch) ist Learning Modern 3D Graphics Programming . Wenn du (wie ich :oops: ) neben viel Text auch gerne compilierbare Beispiele willst: Ich fand nopper.tv - Norbert Nopper's Homepage ganz cool: Aktuelle, aufeinander aufbauende und gut kommentierte Beispiele - praktisch um einen Anfang zu haben.
 

Network

Top Contributor
Ja 4.X wirft alles auf den Kopf. Aber um ehrlich zu sein hab ich noch nie ein System gesehen, dass mit 4.X lief? Kann es sein, dass es noch nicht all zu weit verbreitet ist?

Die deprecated Funktionen betrifft ein paar Hauptfunktion für die Darstellung aber das umlernen zur neuen stellt (für mich persöhnlich jedenfalls) keinerlei Probleme da. Ich dachte nebenbei immer dass OpenGL auf dem Rechner immer alle Versionen beinhaltet.
Und einen eigenen Shader aufzustellen um ein Dreieck darzustellen ???:L Ein Shader für Schatten-/Licht-/Wisch/X-Effekte ok, aber ein einfaches Dreieck? :D

Was ich mit meiner Aussage erreichen wollte ist dass die derzeitigen Tutorials auch für die späteren Versionen eig. keinen Unterschied machen. Im Grunde muss man ja nur verstehen wie OpenGL bzw. allgemein Grafikdarstellungen funktionieren und wie man in etwa diverse Ziele in OpenGL erreicht.
Dieses Wissen reicht dann für OpenGL 1.1 als auch X.X (bis dato jedenfalls).
Mag sein dass sich Methodennamen und kleine Logiklücken etwas verändert haben, dass heißt nicht man muss sich neu einlernen sondern man muss die Documentation wechseln :)
Aber klar, wenn es neue Tutorials gibt (wusste ich nicht, sind ja ziemlich rar allgemein) dann die neuen ;)

Gruß
Net
 
G

Guest2

Gast
Moin,

schon mit OpenGL 3.0 wurde das OpenGL Deprecation Model eingeführt, bei dem sehr viele Funktionen als deprecated markiert wurden. Mit OpenGL 3.1 gab es dann die Unterscheidung zwischen dem Forward Compatible Context, bei dem alle deprecated Funktionen entfernt wurden und dem Full Context der auch die veralteten Funktionen noch zur Verfügung stellte.

Seit OpenGL 3.2 gibt es zusätzlich die Unterscheidung zwischen dem Core Profile, bei dem *fast* alle deprecated Funktionen entfernt wurden (alle bis auf 1 Funktion und 6 Attribute) und dem Compatibility Profile bei dem es die deprecated Funktionen noch gibt.

Aktuell gibt es also 3 Varianten: Compatibility Profile, Core Profile, Forward Compatible Core Profile

Wenn eine Grafikkarte aktuell OpenGL unterstützt, dann muss diese nur noch das Core Profile unterstützen! Praktisch unterstützen aber alle Grafikkarten auch das Compatibility Profile (und werden es wohl auch weiterhin).

Praktisch alles, was in den NeHe-Tutorials erklärt wird, bezieht sich auf die Fixed Function Pipeline. Alles davon ist deprecated und aus dem Core Profile entfernt. Seit OpenGL 3.1 muss mindestens ein Vertexshader und ein Fragmentshader eingebunden werden. Von allen OpenGL Funktionen, die in den NeHe-Tutorials erklärt werden, dürften nur etwa eine Handvoll nicht deprecated sein.

Nichtsdestotrotz, wenn man die Theorie hinter der Fixed Function Pipeline verstanden hat, hilft das natürlich auch bei den aktuellen OpenGL Versionen.

Btw.: Irgendeiner hier im Forum hat auch mal einen Link zu LWJGL Beispielen zur Learning Modern 3D Graphics Programming Seite gepostet, ich hab mir das damals aber leider nicht gemerkt.

Viele Grüße,
Fancy
 

Evil-Devil

Top Contributor
Sonst auch ins LWJGL Wiki schauen, zb. auf die Learning LWJGL - LWJGL Seite. Kann einem sehr weiter helfen ;)

Prinzipiell sind die Funktionen in LWJGL zu 99,9% mit denen aus der OpenGL Spezifikation identisch. Einzige primäre Unterschiede ergeben sich bei der Verwendung von (Byte)Buffern die in Java für die OpenGL Anbindung derzeit die idealste Möglichkeit bieten.
 
U

UndWeiter?

Gast
Ok,
vielen dank,
für eure Tipps
(welche ihr wahrscheinlich jedem gibt, welcher hier nach openGl Tutorials fragt :bae:)
Der von Fancy gepostete link hat mir sehr geholfen. Wenn also irgendwann nochmal irgendjemand fragen sollte, den Link kann man verteilen :D.
Die anderen Fakten und Tutorials habe ich größtenteils schon gekannt,
aber eure Meinungen, haben mir den weg gewiesen, ob's sich lohnt 'höhere' openGl Versionen zu lernen.
Was ja unter anderem (wenn vielleicht auch etwas versteckt) meine frage war.

Vielen Dank also.
Schönes Wochenende.

UndWeiter?
(...auf, sich aufs Fahrrad schwingend, zu erklimmen höhere Sphären des openGl-Berges...)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F OpenGL (LWJGL) Shader Programmierung GLSL Spiele- und Multimedia-Programmierung 2
B LWJGL OpenGL SIGSEGV auf Linux (Verzweiflung :/) Spiele- und Multimedia-Programmierung 8
Streeber Problem mit Transparenz/TextDrawing in LWJGL/Slick2d (OpenGL) Spiele- und Multimedia-Programmierung 1
B LWJGL / OPENGL Kriege Depth-Test nicht hin :( Spiele- und Multimedia-Programmierung 0
R LWJGL: OpenGL Fehler - weitere Informationen auslesen möglich? Spiele- und Multimedia-Programmierung 2
P LWJGL oder OpenGL (C++) Spiele- und Multimedia-Programmierung 7
B LWJGL/OpenGL rendert manche Objekte nicht Spiele- und Multimedia-Programmierung 6
A LWJGL/OpenGL und Text Spiele- und Multimedia-Programmierung 8
M Problem mit Kamera (glMultMatrix (OpenGL/ LWJGL)/ Quaternionen) Spiele- und Multimedia-Programmierung 5
D Java mit OpenGL - besser LWJGL oder JOGL? Spiele- und Multimedia-Programmierung 6
temi OpenGL: Eine Kugel Spiele- und Multimedia-Programmierung 7
P Audio Visualizer mit OpenGL in Java? Spiele- und Multimedia-Programmierung 4
Z Vlcj in OpenGL Spiele- und Multimedia-Programmierung 4
coolian opengl von scale in breite und höhe konvertieren Spiele- und Multimedia-Programmierung 23
K Messdaten in Echtzeit darstellen in OpenGL Spiele- und Multimedia-Programmierung 4
J OpenGL Bild wird nicht richtig angezeigt Spiele- und Multimedia-Programmierung 2
KeexZDeveoper Fehler von OpenGL Spiele- und Multimedia-Programmierung 1
Kim_Dotcom libGDX - opengl Fehler Spiele- und Multimedia-Programmierung 5
RalleYTN OpenGL Context im JFrame? Spiele- und Multimedia-Programmierung 0
L OpenGL TransformationMatrix eines Flugzeugs Spiele- und Multimedia-Programmierung 2
F OpenGL - Transparenz mit Depth Peeling Spiele- und Multimedia-Programmierung 0
turing OpenGL / Jogle Code Reveiw zur Performance Verbesserung Spiele- und Multimedia-Programmierung 1
K LibGdx, Loadingscreen & Opengl context Spiele- und Multimedia-Programmierung 3
turing OpenGL VBO and Unfiform Handling Spiele- und Multimedia-Programmierung 1
T opengl und Android.... Spiele- und Multimedia-Programmierung 3
D [OpenGL] Spiel in der Art von Age of Empires Spiele- und Multimedia-Programmierung 4
T Welche OpenGL-Version soll ich verwenden? Spiele- und Multimedia-Programmierung 2
O OpenGL - Texture falsch herum Spiele- und Multimedia-Programmierung 3
Gregorrr OpenGL & RCP/SWT Spiele- und Multimedia-Programmierung 3
K Android: OpenGL render performance Tipps ? Spiele- und Multimedia-Programmierung 4
lumo opengl, sprites/tiles Spiele- und Multimedia-Programmierung 8
M OpenGL: Rectangle dort erstellen wo ich hintippe Spiele- und Multimedia-Programmierung 2
CookieSoft OpenGl Translatef Frage Spiele- und Multimedia-Programmierung 2
V Keine Ahnung von OpenGL! Hilfe wäre lieb! Spiele- und Multimedia-Programmierung 8
T 3D Stadtmodell mit OpenGL Spiele- und Multimedia-Programmierung 5
TheWhiteShadow OpenGL glDrawArrays Bufferfehler Spiele- und Multimedia-Programmierung 10
S OpenGL Textur unsauber Spiele- und Multimedia-Programmierung 2
T OpenGL ES verschwindene Vertices Spiele- und Multimedia-Programmierung 2
T Android OpenGL Bewegen Spiele- und Multimedia-Programmierung 5
R OpenGL Textur mit verschiedenen bit depths Spiele- und Multimedia-Programmierung 6
Helgon OpenGL Blend Frage Spiele- und Multimedia-Programmierung 18
Helgon OpenGL vernünftige Tutorial? Spiele- und Multimedia-Programmierung 22
A OpenGL Textur und nicht Textur Spiele- und Multimedia-Programmierung 2
T Jmonkey opengl problem Spiele- und Multimedia-Programmierung 13
T Probleme mit Skysphere in Opengl Spiele- und Multimedia-Programmierung 4
F Suche Tutorial zu "purem" OpenGL mit Java Spiele- und Multimedia-Programmierung 10
Kr0e OpenGL + glSubTexImage2D -> Bufferproblem Spiele- und Multimedia-Programmierung 3
F OpenGL Screenshot in iMove (als Greenscreen) => Farben invertiert? Spiele- und Multimedia-Programmierung 16
I Vergleich von Java3D und OpenGL Spiele- und Multimedia-Programmierung 17
F Mac: OpenGL Desktop-Screen aus Grafikkarte lesen Spiele- und Multimedia-Programmierung 2
F OpenGL 2D MouseClick/MouseMove Listener Spiele- und Multimedia-Programmierung 4
Kr0e Sehr schnelle Texturupdates (OpenGL) Spiele- und Multimedia-Programmierung 3
Kr0e OpenGL beliebige Texturgröße Spiele- und Multimedia-Programmierung 2
BattleMaster246 OpenGL - Transparenz Spiele- und Multimedia-Programmierung 10
Kr0e OpenGL .. Pixel Buffer Objekt oder Frame Buffer Object? Spiele- und Multimedia-Programmierung 2
Y JOGL / OPENGL in Frame Spiele- und Multimedia-Programmierung 11
A Problem openGL-Pipeline mit Win7? Spiele- und Multimedia-Programmierung 6
G OpenGL boolesche operation auf Rechtecke Spiele- und Multimedia-Programmierung 15
A JOGL / OpenGL Spiele- und Multimedia-Programmierung 7
G API für 3d-Programmierung? OpenGL? Spiele- und Multimedia-Programmierung 12
J OpenGL (JOGL) - Radial Blur Effekt (Glow) Spiele- und Multimedia-Programmierung 2
J Opengl Texture laden Null Pointer Exception Spiele- und Multimedia-Programmierung 6
J netbeans opengl keyPressed(KeyEvent evt) benutzen Spiele- und Multimedia-Programmierung 4
J netbeans opengl gluPerspective und gluLookAt Verständnis Spiele- und Multimedia-Programmierung 13
S glTexSubImage2D()-Fragen(Zerstörbares Terrain, OpenGL) Spiele- und Multimedia-Programmierung 3
Z Suche Tutorial zum Einstieg in OpenGl mit Java (JOGL) Spiele- und Multimedia-Programmierung 2
T Overlay in anderer OpenGL Anwendung Spiele- und Multimedia-Programmierung 4
egrath Vista OpenGL Performance Problem? Spiele- und Multimedia-Programmierung 3
Y OpenGL Spiele- und Multimedia-Programmierung 5
J opengl beispiele? Spiele- und Multimedia-Programmierung 10
N OpenGL und DirectX - was genau ist das? Spiele- und Multimedia-Programmierung 5
C OpenGl Support für Applet (sun.java2d.opengl=True) Spiele- und Multimedia-Programmierung 3
B OpenGL oder Direct X Spiele- und Multimedia-Programmierung 9
coolian lwjgl glfw window zeigt nur grau an Spiele- und Multimedia-Programmierung 0
coolian slick lwjgl text darstellen mit UnicodeFont funktoniert nicht? Spiele- und Multimedia-Programmierung 11
Meeresgott LWJGL 3 Problem mit einer Texture Spiele- und Multimedia-Programmierung 4
V LWJGL GUI Spiele- und Multimedia-Programmierung 1
V GUI in LWJGL 2 erstellen Spiele- und Multimedia-Programmierung 6
C GLSL Shaderprogrammierung in LWJGL 3 Spiele- und Multimedia-Programmierung 12
G Low Poly 3D LWJGL Shader Problem Spiele- und Multimedia-Programmierung 4
G LWJGL .obj .mtl loader Spiele- und Multimedia-Programmierung 3
G 2D animationen LWJGL Spiele- und Multimedia-Programmierung 0
pcfreak9000 "Allgemeine" Performance verbessern (LWJGL 2) Spiele- und Multimedia-Programmierung 2
G LWJGL Rendert nicht Spiele- und Multimedia-Programmierung 3
G lwjgl verwendung Spiele- und Multimedia-Programmierung 6
R [LWJGL] Skeletal Animation Spiele- und Multimedia-Programmierung 5
E LWJGL glGenVertexArrays() erzeugt doppelte IDs Spiele- und Multimedia-Programmierung 3
G Java 2D Spiel mit LWJGL verbinden Spiele- und Multimedia-Programmierung 1
K No Lwjgl Spiele- und Multimedia-Programmierung 2
T LWJGL 2.9.2: Seltsamer Effekt beim Rendern (VertexShader Problem?) Spiele- und Multimedia-Programmierung 3
T LWJGL: Terrain-Texturen / 2D-Array in Shader? Spiele- und Multimedia-Programmierung 2
S 2D-Render Probleme LWJGL 2 (Java) Spiele- und Multimedia-Programmierung 1
P java lwjgl Game Spiele- und Multimedia-Programmierung 0
T [LWJGL] Textur / File wieder freigeben Spiele- und Multimedia-Programmierung 4
F [LWJGL] Skeletal Animation 3D Spiele- und Multimedia-Programmierung 1
C Generelle Hilfe zur lwjgl Spiele- und Multimedia-Programmierung 0
D LWJGL gluLookAt "Umschauen" Problem Spiele- und Multimedia-Programmierung 0
D Problem mit Würfelanimierung in LWJGL Spiele- und Multimedia-Programmierung 7
RalleYTN LWJGL Vignette Spiele- und Multimedia-Programmierung 2
E LWJGL Switchen zwischen gluOrtho und gluPerspective Spiele- und Multimedia-Programmierung 0

Ähnliche Java Themen

Neue Themen


Oben