Lazarus - OpenGL 3.3 Tutorial - Einrichten und Einstieg - Lazarus fuer OpenGL einrichten: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
Zeile 3: Zeile 3:
 
== Einleitung ==
 
== Einleitung ==
 
'''Vorwort:'''<br><br>
 
'''Vorwort:'''<br><br>
OpenGL 3.3 scheint auf den ersten Blick viel komplizierter als das alte OpenGL.<br>
+
'''OpenGL 3.3''' scheint auf den ersten Blick viel komplizierter als das alte OpenGL.<br>
 
Man wird von Anfang an mit vielem Neuen konfrontiert.<br>
 
Man wird von Anfang an mit vielem Neuen konfrontiert.<br>
 
Früher konnte man einfach<br>
 
Früher konnte man einfach<br>
Zeile 30: Zeile 30:
 
* Grundkenntnisse mit FPC und Lazarus.<br>
 
* Grundkenntnisse mit FPC und Lazarus.<br>
 
<br>
 
<br>
Wen die Grafikkarte zu alt ist, gibt es trozdem eine Lösung. Mit Mesa 17.1 ist es möglich im Software-Renderer OpenGL zu emulieren.<br>
+
Wen die Grafikkarte zu alt ist, gibt es trozdem eine Lösung. Mit Mesa ab 17.1 ist es möglich im Software-Renderer OpenGL zu emulieren.<br>
Dies ist gähnend langsam, aber für die ersten Gehversuche im zutorial reicht dies. ( Getestet mit Linux Mint 18.x )<br>
+
Dies ist gähnend langsam, aber für die ersten Gehversuche im Tutorial reicht dies. ( Getestet mit Linux Mint 64Bit 18.x )<br>
 
<br>
 
<br>
 
'''Installation:'''<br><br>
 
'''Installation:'''<br><br>
Zeile 47: Zeile 47:
 
Die Sourcen zum Tutorial, kann man alle auf der Hauptseite herunterladen.<br>
 
Die Sourcen zum Tutorial, kann man alle auf der Hauptseite herunterladen.<br>
 
Es ist eine Zip, welche auch alle Bibliotheken (Units) enthält.<br>
 
Es ist eine Zip, welche auch alle Bibliotheken (Units) enthält.<br>
 +
Ich habe eine Package Namens '''ogl_package.lpk''' mit den benötigten Dateien erstellt, sie befindet sich im gleiche Ordner wie die '''Units'''.  Ich empfehle es, die Package zu installieren,<br>
 +
obwohl man auch in den Projekte den Unit-Pfad anpassen kann, nur muss man dann in allen Projekten die Pfade anpassen, wen man mal die Package verschiebt/umbennent.<br>
 
<br>
 
<br>
Wen man weis, wie man mit Delphi einen OpenGL-Context erzeugt, sollte dieses Tutorial auch mit Delphi funktionieren.<br>
+
Wen man weis, wie man mit '''Delphi''' einen OpenGL-Context erzeugt, sollte dieses Tutorial auch mit Delphi funktionieren.<br>
 
<br>
 
<br>
 
Wenn Fehler gefunden werden, dann bitte hier melden:<br>
 
Wenn Fehler gefunden werden, dann bitte hier melden:<br>
 
* [https://delphigl.com/forum/viewtopic.php?f=14&t=11566  DGL-Forum]
 
* [https://delphigl.com/forum/viewtopic.php?f=14&t=11566  DGL-Forum]
 +
oder<br>
 +
* [http://www.lazarusforum.de/viewtopic.php?f=29&t=11373&hilit=opengl+tutorial  Lazarus-Forum]
  
 
<br>Autor: [[Mathias]]
 
<br>Autor: [[Mathias]]
 
== Siehe auch ==
 
== Siehe auch ==
 
* Übersichtseite [[Lazarus - OpenGL 3.3 Tutorial]]
 
* Übersichtseite [[Lazarus - OpenGL 3.3 Tutorial]]

Version vom 14. März 2018, 21:01 Uhr

Lazarus - OpenGL 3.3 Tutorial - Einrichten und Einstieg - Lazarus fuer OpenGL einrichten.png

Einrichten und Einstieg - Lazarus fuer OpenGL einrichten

Einleitung

Vorwort:

OpenGL 3.3 scheint auf den ersten Blick viel komplizierter als das alte OpenGL.
Man wird von Anfang an mit vielem Neuen konfrontiert.
Früher konnte man einfach

glBegin(...
..
glEnd

und fertig.
Neu muss man sich mit Shadern und Vertex-Buffern auseinandersetzen.
Auch muss man sich jetzt selbst um Matrizen und Beleuchtung kümmern.

Aber dafür ist die Belohnung sehr gross, man ist sehr flexibel und man kann (fast) alles machen, was Effekte anbelangt.
Früher war man einfach auf die Fixed-Function-Pipeline der Grafikkarte angewiesen und jede war etwas anders.
Wenn eine Karte nur zwei Beleuchtungen hatte, dann hatte sie nur zwei.
Da man es aber jetzt selbst macht, kann man fast beliebig viel machen, egal ob diffus, etc.

Ich hoffe, mit diesem Tutorial wird der eine oder andere für OpenGL 3.3 begeistert werden.
Wenn man diesen Einstieg mal geschafft hat, wird man auch mit höheren Versionen klarkommen.

Auf der Hauptseite werde ich noch ein Package veröffentlichen, welches einem den Einstieg sehr einfach macht.
Dort sind fertige Shader und Units für Matrizen, Texturen, Vertex-Buffer, etc. vorhanden.


Voraussetzung:

  • FPC 3.0.2 oder höher.
  • Lazarus 1.6.4 oder höher.
  • Mindestens OpenGL 3.3 fähige Grafikkarte.
  • Grundkenntnisse mit FPC und Lazarus.


Wen die Grafikkarte zu alt ist, gibt es trozdem eine Lösung. Mit Mesa ab 17.1 ist es möglich im Software-Renderer OpenGL zu emulieren.
Dies ist gähnend langsam, aber für die ersten Gehversuche im Tutorial reicht dies. ( Getestet mit Linux Mint 64Bit 18.x )

Installation:

FPC und Lazarus installieren.

Bei Lazarus muss unter Package/Installierte Packages einrichten.../Verfügbar für Installation, zuerst das Package LazOpenGLContext x.x.x installiert werden.

Das Tutorial sollte unter Linux und Windows laufen, auf dem Mac habe ich es nicht probiert.

Wenn Lazarus bei der Neukompilierung unter Linux Probleme macht, könnte Folgendes das Problem sein.
Unter auf Debian oder Ubuntu basierenden Linux-Distributionen muss evtl. noch Folgendes installiert werden.

sudo apt-get install freeglut3-dev

Somit sollten alle Beispiele kompilierbar sein.

Die Sourcen zum Tutorial, kann man alle auf der Hauptseite herunterladen.
Es ist eine Zip, welche auch alle Bibliotheken (Units) enthält.
Ich habe eine Package Namens ogl_package.lpk mit den benötigten Dateien erstellt, sie befindet sich im gleiche Ordner wie die Units. Ich empfehle es, die Package zu installieren,
obwohl man auch in den Projekte den Unit-Pfad anpassen kann, nur muss man dann in allen Projekten die Pfade anpassen, wen man mal die Package verschiebt/umbennent.

Wen man weis, wie man mit Delphi einen OpenGL-Context erzeugt, sollte dieses Tutorial auch mit Delphi funktionieren.

Wenn Fehler gefunden werden, dann bitte hier melden:

oder


Autor: Mathias

Siehe auch