Frage

Ich habe mit OpenGL in Python begonnen spielen um PyOpenGL 3.0.1b verwendet wird.

schaute ich auf einige Beispiel-Code und begann sie laufen und ändern es usw. Alles ist gut, bis ich etwas weniger unwissend wurde.

http://pyopengl.sourceforge.net/documentation/manual- 3.0 / index.xhtml die OpenGL-Funktionen sind ebenfalls aufgeführt als ob sie veraltet sind. Also dachte ich mir, werde ich nur einige auf dem neuesten Stand Tutorials finden müssen, die nicht alle diese veralteten Mist verwenden.

Stunden später kein Glück! Veraltete Beispielcode nach deprecated Beispielcode ... Gibt es irgendwo kann ich für nicht veraltet Tutorials gehen?

War es hilfreich?

Lösung

OpenGL ES 2.0 ist in der Tat sehr ähnlich OpenGL 3, wobei einige Funktionen (wie Multiple Render Targets, einige Shader-Anweisungen, etc.) entfernt. OpenGL ES 2.0 Programming Guide Buch hat einige Tutorials und Quelltexte zum Download zur Verfügung, die Sie mit OpenGL 3.0 Einstieg erleichtern können. Welche compiliert in ES 2.0 wird auch für neuere OpenGL Spezifikationen kompilieren, meistens. Sie können für ES 2.0 Tutorials online, als auch suchen.

Ich würde auch empfehlen, die Grafik-Engine Check-out Ich entwickle ( OpenREng ). Sie können OpenGL-Wrapper-Klassen überprüfen die meisten Funktionen in neueren Spezifikationen unterstützt zu sehen.

Andere Tipps

Dank Jason L. McKesson

Keine veralteten Code fantastische Beispiele und Tutorials hier (in OpenGL 3.3)

http://www.arcsynthesis.org/gltut/index.html

Und ein anderer, ohne zu viel Erklärung hier (in OpenGL 4.x und 3.3)

http://openglbook.com/the-book/

So wie ich das Lernen empfehlen ist eine feste Funktion Programm zu nehmen und beginnen langsam in ein Kernprofil ein Drehen durch jedes Bit zu einem Zeitpunkt hinzufügen. Grundsätzlich gibt es drei wichtige Dinge, die Sie benötigen und alle leider zu bewältigen ziemlich groß und binden aneinander derart, dass, wenn Sie Sie keine Ahnung haben nichts auf dem Bildschirm erhalten, die etwas gebrochen ist. Aber wenn man darüber den richtigen Weg zu gehen, können Sie sollte in Ordnung sein.

Zum einem Vertex Buffer Objects und Vertex-Array-Objekt lernen. Zu Graben GlBegin, GlEnd, glVertex3f, glColor4f, glNormal3f, glTexCoord2f, etc ...

manuelle Matrixtransformationen Erfahren glRotatef, glTranslate, glPushMatrix, glPopMatrix, glMatrixMode, glLoadIdentity, GL_PROJECTION, GL_MODELVIEW, glFrustum, glOrtho, gluLookAt, gluPerspective, gluOrtho2 zu Graben. Ich empfehle, bei glm suchen, die diejenige ist, die OpenGL-Website in ihrem SDK erwähnt. Während Sie noch die festen Funktionskomponenten auf dem Nicht-Kernprofil verwenden können Sie manuell die Matrix mit glLoadMatrixf laden, später müssen Sie die Matrizen zu den Shadern binden.

Lernen Sie die grundlegenden GLSL-Shadern. Es sind veraltet gl_vertex, gl_normal, ftransform (), das sollte noch Arbeit mit VBO ist, können Sie sie verwenden, bis Sie die Shader-Bindungen vollständig eingerichtet haben.

do Dann werden alle Shader-Bindung, verwenden Vertex-Attribute anstelle des festen gl_vertex und gl_position. Verwenden Uniform ist das Model-View-und Projektionsmatrizen vielmehr die ftransform () zu laden. und Dinge wie Beleuchtung und Materialeigenschaften (Ich neige dazu, die modelviewprojection statt nur die Projektion zu laden, so dass die Shader nicht, dass jedes Mal der Berechnung).

Schließlich ein Kernprofil verwenden, benötigen Sie einen Windowing Toolkit, dass Träger erstellt wird. GLUT, GLFW tun. SMFL nicht. SDL 1.3-dev tut. Ich glaube nicht, pygame leider der Fall ist. Das Kernprofil wird jede deprecated Funktionalität Graben, der verlassen wurde herumliegen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top