Hallo zusammen,
ich möchte mit der 3D-Programmierung mit OpenGL beginnen. Erfahrung habe
ich mit den Programmiersprachen C++ und C.
Es sollte eine ausführliche EInführung in OpenGL sein, je ausführlicher
desto besser. Es ist dabei egal, ob es ein Tutorial im Internet ist oder
es sich um ein Buch handelt (Preis völlig egal).
Danke!
Tutorials im inet findest Du ganz schnell. Einfach danach suchen, mal
eins durcharbeiten und selber Erfahrung sammeln... Fang mit dem ersten
g**gle Treffer an: http://www.opengl-tutorial.org
Buch: OpenGL Superbible
Der Einstieg ist nicht ganz einfach und man muss einfach beginnen. Es
geht nicht von einen Tag auf den anderen... So groß ist die API nicht
und man weiß relativ schnell was was ist. Die Anwendung ist dann etwas
anderes. Über Techniken wird z.B. im Delphi OpenGL Forum gesprochen.
Also einfach mal anfangen und bei Fragen nach Antworten suchen. Manches
erklärt sich auch mit der Zeit.
Benutze nicht das NeHe Tutorial! Das war vielleicht 2002 aktuell.
OpenGL funktioniert heutzutage völlig anders. Gute Tutorials für
modernes OpenGL finden ist schwer, wenn du was gutes findest, lass es
uns wissen :-)
Ein sicheres Ausschlusskriterium ist, wenn der Code GlBegin() / GlEnd()
verwendet, dann ist das Tutorial nicht geeignet.
Das opengl-tutorial.org ist denke ich ganz brauchbar, wenngleich nicht
arg ausführlich.
Mit Lagacy OpenGl kann man ruhig die ersten Gehversuche machen, um die
ersten Erfolge zu haben. Ansonsten ist das eigentlich nicht mehr
aktuell... Im Wiki zu OpenGL findet man auch Infos, aber das
Interessiert erst beim Nachlesen.
mar IO schrieb:> Mit Lagacy OpenGl kann man ruhig die ersten Gehversuche machen, um die> ersten Erfolge zu haben.
Kann man machen, vermittelt dann aber eine völlig falsche Vorstellung,
wie's funktionieren sollte.
Ich halte es auch für nutzlos mit legacy anzufangen. Die Hintergründe
muss man so oder so kennen. Und wenn man die kennt, dann ist es mit der
programmierbaren Pipeline logischer und flexibler. Dieses ganze hin und
her mit dem alten Matrix-Stack verkompliziert die Sache tendenziell
sogar für Anfänger, finde ich.
Meine Empfehlung: strikt an das Featureset von OpengL ES 2.0/3.0 halten,
wenn möglich. Das hat einen überschaubaren Umfang und man kann nicht von
Legacy-Funktionalität verwirrt werden.
mar IO schrieb:> Mit Lagacy OpenGl kann man ruhig die ersten Gehversuche machen, um die> ersten Erfolge zu haben. Ansonsten ist das eigentlich nicht mehr> aktuell... Im Wiki zu OpenGL findet man auch Infos, aber das> Interessiert erst beim Nachlesen.
Vor allem ist ohne das der Einstieg ganz ohne "legacy" dann doch sehr
schwer, weil man dann nebenher erst noch die Shader-Programmierung
lernen muß.
Sven B. schrieb:> mar IO schrieb:>> Mit Lagacy OpenGl kann man ruhig die ersten Gehversuche machen, um die>> ersten Erfolge zu haben.> Kann man machen, vermittelt dann aber eine völlig falsche Vorstellung,> wie's funktionieren sollte.
Es vermittelt einen Eindruck davon, wo OpenGL hergekommen ist, und man
kann Schritt für Schritt neues lernen, statt alles auf einmal. So
verkehrt finde ich das nicht.
Naja gut, klar, irgendwas lernen ist nie falsch.
Ich finde nur das Legacy nicht so nützlich, weil das eher diesen
imperativen Stil hat ("zeichne mir ein Rechteck"), während das neue
OpenGL eher deskriptiv ist ("hier findest du die Datenstruktur wo
drinsteht was du zeichnen sollst").
wenn man mit Lagacy anfängt, dann aber aktuellen Code schreiben möchte,
das verwiert schon etwas. Einfach mal mit dem Tutorial anfangen, das ich
gepostet habe und dann eine aktuelle 'Superbible' durcharbeiten.
Hintergrundwissen findet man im Wiki von OpenGL bzw. in deutsch bei den
Delphi-Leuten http://www.delphigl.com. Wichtig ist einfach mal
anzufangen und nicht aufgeben. Über 3d Programmierung im allgemeinen
gibt es noch weitere Bücher. So schwer ist es auch nicht und die
Shader-Progrierung auch nicht. Man muss halt irgendwie sein Kopfmodell
dazu aufbauen und das geht nicht in der Schnelle und aus Fehlern und
Mißerfolg lernt man.
3d Prog. mit OpenGL ES für Smartphone könnte auch gute Lektüre bieten.
RedBook und so sind halt schon etwas àlter...
Eine eigene Frage?
Dieser Thread ist über 11 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.