Grafikprogrammierung mit OpenGL 2

Einleitung

Ende 2020 habe ich begonnen Programme mit OpenGL 2 zu schreiben.
Es gibt da bereits grosse Unterschiede zu was ich 2019 mit einer älteren OpenGL-Version begonnen hatte.
Hier also alles neu für OpenGL2.

Compiler und Bibliotheken

Ich hatte mit diesem Tutorial gestartet: Tutorial von Pilzschaf gefunden über Google mit "C++ OpenGL Tutorial deutsch".
In diesem Tutorial wird die OpenGL Shading Language 3.30 benutzt. Meine Programme werden also wohl auch mindestens Version 3.3 benötigen.

Als Compiler benutze ich GCC, und als Programmierumgebung Emacs und make auf Linux. Gleichzeitig teste ich auch unter Windows10 mit "Visual Studio 2019".

Es werden folgende Bibliotheken benötigt:
SDL2: libsdl2-dev libSDL.org
GLEW: libglew-dev GLEW.sourceforge.net
Include-Libraries: GLM (Mathe) , stb_image.h (Bilder laden) , ...

(Auf glut oder freeglut wird bewusst verzichtet)

Mathematische Grundlagen

Neben Vektoren werden in OpenGL oft Matrizen verwendet (Einzahl: Matrix).
Unter www.opengl-tutorial.org gibt es dazu eine gute Einführung in Matrizen-Rechnung

Programmiersprachen

Ich verwende C++ für Programme auf der CPU.
Für Programmteile die direkt auf der Grafikkarte (GPU) laufen wird noch GLSL gebraucht.
Wobei ich GLSL noch am lernen bin.

3D-Objekte erstellen

Mit freecad lassen sich einfache (einfarbige) Objekte erstellen. (Möglicherweise bei neueren Versionen gehen auch mehrfarbige Objekte?)
Für kompliziertere Sachen sollte sich Blender eignen.

www.freecadweb.org , Freecad Tutorial
www.blender.org , Blender Tutorial

noch in Bearbeitung ...


Einrichten unter Linux

Für den Compiler (GCC) sollte das Paket build-essential installiert werden.
Dann noch die beiden oben erwähnten Pakete: libsdl2-dev und libglew-dev
Eins meiner Beispielprogramme an beliebiger Stelle entpackt, dann mit "make" compiliert.
Sollte dann mit z.B. "./main" startbar sein.

noch in Bearbeitung ...


Einrichten unter Windows

Das Verzeichnis "Desktop\C++\VisualProjects\dependencies" anlegen.
Dort hinein dann die beiden oben erwähnten Bibliotheken kopieren.
Eins meiner Beispielprogramme (z.B. Spiel1) dann nach "Desktop\C++\VisualProjects\" kopieren.
Die Datei mit Endung .vcxproj muss noch editiert werden um die Pfade auf die Bibliotheken anzupassen. Das kann mit Notepad gemacht werden, oder bequemer mit einem Texteditor unter Linux. Es müssen dabei an 16 Stellen Pfade korrigiert werden.
Vermutlich könnte man das auch irgendwie direkt in Visual Studio machen, ich weiss aber nicht wie.
Die Startdatei ist diejenige mit Endung .sln (z.B. Spiel1.sln). Die lässt sich durch Rechtsklick und Auswahl von "Open with" mit Visual Studio 2019 starten.

noch in Bearbeitung ...


Links

Grafikprogrammierung mit OpenGL - Alte Version
OpenGLTekplot.tar.gz Test von otekplot.h, Grafik-Library wie xtekplot1
OpenGLTekplot1.7z Windows-Version der Tekplot-Grafik-Library

Spiel1.tar.gz Erster Versuch eines 3D-Spiels in OpenGL
Auch auf meiner Spiele-Seite zu finden: ../../spiele/index.html#spiel1


Letzte Änderungen: 26.2.2021 Rolf                                         Validator