Lazarus - OpenGL 3.3 Tutorial
-
- Beiträge: 6910
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Lazarus - OpenGL 3.3 Tutorial
Ich stelle hier mein neustes Projekt vor, ein Tutorial für
Lazarus - OpenGL 3.3 Tutorial
Ich hoffe, das dies einige User den Einstieg in das moderne OpenGL mit diesem Tutorial schaffen.
Das Tutorial ist noch in Arbeit, aber es wird fortlaufend ergänzt.
Wen jemand eine Anregungen hat, kann er sich gerne melden,
Lazarus - OpenGL 3.3 Tutorial
Ich hoffe, das dies einige User den Einstieg in das moderne OpenGL mit diesem Tutorial schaffen.
Das Tutorial ist noch in Arbeit, aber es wird fortlaufend ergänzt.
Wen jemand eine Anregungen hat, kann er sich gerne melden,
Zuletzt geändert von Mathias am So 4. Mär 2018, 23:08, insgesamt 1-mal geändert.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
Re: Lazarus - OpenGL 3.3 Tutorial
Melde dich bei github oder sourceforge an.
[Sch... - dass sollte eigentlich an den anderen Post]
[Sch... - dass sollte eigentlich an den anderen Post]
-
- Beiträge: 210
- Registriert: Do 24. Jan 2013, 21:22
Re: Lazarus - OpenGL 3.3 Tutorial
Hallo Mathias,
vielen Dank für dein Tutorial , feine Sache.
Ich habe mir erst mal die Quellen gesaugt und bin am rumprobieren.
Was ich aber gleich feststellen mußte , das OpenGl 3.3 läuft auf meinen alten Rechnern nicht.
Ich denke das liegt wohl an den alten Grafikkarten .
Könntest Du im Tutorial noch etwas zur Hardware-Mindestanforderung erzählen ?
Gruß
Frank
vielen Dank für dein Tutorial , feine Sache.
Ich habe mir erst mal die Quellen gesaugt und bin am rumprobieren.
Was ich aber gleich feststellen mußte , das OpenGl 3.3 läuft auf meinen alten Rechnern nicht.
Ich denke das liegt wohl an den alten Grafikkarten .
Könntest Du im Tutorial noch etwas zur Hardware-Mindestanforderung erzählen ?
Gruß
Frank
www.flz-vortex.de
-
- Beiträge: 6910
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Lazarus - OpenGL 3.3 Tutorial
Von hier aus, sind nun alle Sourcen auf guthub erreichbar.
https://wiki.delphigl.com/index.php/Laz ... 3_Tutorial
Entweder alle, oder auch jedes Tutorial einzeln.
Auch hat es Ergänzungen im Tutorial gegeben.
Was verwendest du für Hardware und OS ?
https://wiki.delphigl.com/index.php/Laz ... 3_Tutorial
Entweder alle, oder auch jedes Tutorial einzeln.
Auch hat es Ergänzungen im Tutorial gegeben.
Entweder ist die Karte zu alt, oder die Treiber veraltet.Was ich aber gleich feststellen mußte , das OpenGl 3.3 läuft auf meinen alten Rechnern nicht.
Ich denke das liegt wohl an den alten Grafikkarten .
Was verwendest du für Hardware und OS ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 210
- Registriert: Do 24. Jan 2013, 21:22
Re: Lazarus - OpenGL 3.3 Tutorial
Hallo Mathias,
Sind aber auch schon wirklich alte Schätzchen Alter>8-10 Jahre.
Auf dem Win7-Rechner sitzt ne Intel(R) HD Graphics 4600 , da laufen fast alle deine Demos , bis auf die , wo BgraBitmap verwendet wird , das habe ich noch nicht installiert.
Das Problem ist halt , das meine Modellbausoftware auf vielen Bastel-Keller-Rechneren läuft , die teils noch Win98 drauf haben.
Diese Rechner werden so lange wie möglich am Leben erhalten , wegen alter CNC-Maschinen (Fräsen , Styoschneider u.u.u) und passender Software , die nur dort läuft und wo es keine Updates mehr gibt.
Gibt es eventuell pfiffige Möglichkeiten altes OpenGL und neues OpenGl 3.3 per Software wahlweise zu nutzen .
Also
1) Erkennung der Hardware
2) Umschaltung zwischen der alten OpenGl-Programmierung und den neuen Möglichkeiten ,sofern es beim alten OpenGl überhaut Alternaiven gibt.
Gruß
Frank
Ich habe noch ein paar alte XP-Rechner , Grafikkarten weis ich jetzt nicht , dort läuft es leider nicht .Entweder ist die Karte zu alt, oder die Treiber veraltet.Was ich aber gleich feststellen mußte , das OpenGl 3.3 läuft auf meinen alten Rechnern nicht.
Ich denke das liegt wohl an den alten Grafikkarten .
Was verwendest du für Hardware und OS ?
Sind aber auch schon wirklich alte Schätzchen Alter>8-10 Jahre.
Auf dem Win7-Rechner sitzt ne Intel(R) HD Graphics 4600 , da laufen fast alle deine Demos , bis auf die , wo BgraBitmap verwendet wird , das habe ich noch nicht installiert.
Das Problem ist halt , das meine Modellbausoftware auf vielen Bastel-Keller-Rechneren läuft , die teils noch Win98 drauf haben.
Diese Rechner werden so lange wie möglich am Leben erhalten , wegen alter CNC-Maschinen (Fräsen , Styoschneider u.u.u) und passender Software , die nur dort läuft und wo es keine Updates mehr gibt.
Gibt es eventuell pfiffige Möglichkeiten altes OpenGL und neues OpenGl 3.3 per Software wahlweise zu nutzen .
Also
1) Erkennung der Hardware
2) Umschaltung zwischen der alten OpenGl-Programmierung und den neuen Möglichkeiten ,sofern es beim alten OpenGl überhaut Alternaiven gibt.
Gruß
Frank
www.flz-vortex.de
-
- Beiträge: 1102
- Registriert: Di 5. Aug 2008, 09:37
- OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
- CPU-Target: 32/64,PPC(+64), ARM
- Wohnort: Eindhoven (Niederlande)
Re: Lazarus - OpenGL 3.3 Tutorial
Zuerst: sehr schöner Tut!
Ich mache viel einfache 2D overlays mit opengl, und habe mich einige der relevante Tutorials angesehen wie "Shapes (Linien und Punkte)", und der logischen Folgenden "Index-Puffer_dynamisch" (Shapes: 1 segment/drawcall, index-puffer: mehrere/drawcall)
Dazu habe ich vielleicht noch etwas interessantes in mein URL Bibliothek, nämlich wie man Linewidth kann man via geom Shader emulieren kann:
https://forum.libcinder.org/topic/smoot ... try-shader
Ich mache viel einfache 2D overlays mit opengl, und habe mich einige der relevante Tutorials angesehen wie "Shapes (Linien und Punkte)", und der logischen Folgenden "Index-Puffer_dynamisch" (Shapes: 1 segment/drawcall, index-puffer: mehrere/drawcall)
Dazu habe ich vielleicht noch etwas interessantes in mein URL Bibliothek, nämlich wie man Linewidth kann man via geom Shader emulieren kann:
https://forum.libcinder.org/topic/smoot ... try-shader
-
- Beiträge: 6910
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Lazarus - OpenGL 3.3 Tutorial
Dies müsste ich mal genauer angucken, sieht recht interessant aus.Dazu habe ich vielleicht noch etwas interessantes in mein URL Bibliothek, nämlich wie man Linewidth kann man via geom Shader emulieren kann:
https://forum.libcinder.org/topic/smoot ... try-shader
Im Prinzip ja, aber sowas würde ich mir nicht mehr an tun. Es werden immer weniger PCs, die zu alt sind. Ansonsten ein einfaches if else sollte gehen.Gibt es eventuell pfiffige Möglichkeiten altes OpenGL und neues OpenGl 3.3 per Software wahlweise zu nutzen .
Code: Alles auswählen
if alt then begin
glBegin();
end else begin
glDrawArrays();
end;
Mit etwas Glück sollte es gehen, wen man im Shader eine ältere Version verlangt.
Code: Alles auswählen
#version 130
ZB wird
Code: Alles auswählen
layout (location = 10) in vec3 inPos;
Dann muss man das mit einer ID lösen, so wie bei den Uniform-Variablen.
So nebenbei, ab OpenGL 4.0, geht layout auch mit Attributen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 6910
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Lazarus - OpenGL 3.3 Tutorial
Da habe ich gerade noch einen kleinen Fehler korrigiert, die Vektoren hissen hier Triangeles, obwohl es Linien sind.und habe mich einige der relevante Tutorials angesehen wie "Shapes (Linien und Punkte)",
Wen jemand solche Fehler sieht, dann wäre es gut, wen er sie melden würde. Somit kann ich das Tutorial verbessern.

Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 6910
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Lazarus - OpenGL 3.3 Tutorial
Ich habe da mal was probiert, vielleicht hilft dir dies schon weiter.Dazu habe ich vielleicht noch etwas interessantes in mein URL Bibliothek, nämlich wie man Linewidth kann man via geom Shader emulieren kann:
https://forum.libcinder.org/topic/smoot ... try-shader
https://github.com/sechshelme/Lazarus-O ... _ADJACENCY
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 6910
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Lazarus - OpenGL 3.3 Tutorial
Das Tutorial ist in der Zwischenzeit um einiges gewachsen: https://wiki.delphigl.com/index.php/Laz ... 3_Tutorial
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 36
- Registriert: Di 4. Mai 2010, 09:14
- OS, Lazarus, FPC: Win10 64Bit, L: 1.8.4 FPC 3.0.4
Re: Lazarus - OpenGL 3.3 Tutorial
Die Beispiele die ich bis jetzt getestet habe laufen. Die Beispiele welche die unit oglVector verwenden, lassen sich nicht kompilieren. Fehler in der Prozedur: wir in der Zeile:
Die Nachricht:
Projekt kompilieren, Ziel: project1.exe: Exit code 1, Fehler: 1, Warnungen: 1
oglvector.pas(721,7) Error: Illegal qualifier
oglvector.pas(722,21) Warning: Local variable "v" does not seem to be initialized
ausgegeben.
Was Übersehe Ich?
Code: Alles auswählen
FaceToNormale(var Face, Normal: array of TFace3D);
Code: Alles auswählen
v.Cross(Face[i, 0], Face[i, 1], Face[i, 2]);
Die Nachricht:
Projekt kompilieren, Ziel: project1.exe: Exit code 1, Fehler: 1, Warnungen: 1
oglvector.pas(721,7) Error: Illegal qualifier
oglvector.pas(722,21) Warning: Local variable "v" does not seem to be initialized
ausgegeben.
Was Übersehe Ich?
-
- Beiträge: 6910
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Lazarus - OpenGL 3.3 Tutorial
Kannst du mir ein Beispiel nennen, das nicht geht.
Welches Lazarus / FPC verwendest du ?
Welches Lazarus / FPC verwendest du ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 36
- Registriert: Di 4. Mai 2010, 09:14
- OS, Lazarus, FPC: Win10 64Bit, L: 1.8.4 FPC 3.0.4
Re: Lazarus - OpenGL 3.3 Tutorial
Danke für die schnellle Antwort.
Lazarus v. 1.6.2; FPC v. 3.0.0
Beispiel: 02_-_Shader\40_-_Shader_Mandelbrot.
Aber wie gesagt tritt der Fehler bei allen Beispielen welche die unit oglVector nutzen auf.
Lazarus v. 1.6.2; FPC v. 3.0.0
Beispiel: 02_-_Shader\40_-_Shader_Mandelbrot.
Aber wie gesagt tritt der Fehler bei allen Beispielen welche die unit oglVector nutzen auf.
-
- Beiträge: 6910
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Lazarus - OpenGL 3.3 Tutorial
Es wird mindestens FPC 3.0.2 verlangt, da bei 3.0.0 ein Bug mit Typenhelper vorhanden ist.Lazarus v. 1.6.2; FPC v. 3.0.0
Siehe in der Einleitung:
https://wiki.delphigl.com/index.php/Laz ... einrichten
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 36
- Registriert: Di 4. Mai 2010, 09:14
- OS, Lazarus, FPC: Win10 64Bit, L: 1.8.4 FPC 3.0.4
Re: Lazarus - OpenGL 3.3 Tutorial
Schlafmütze!
Nach dem ich die neueste Release installiert habe funktioniet es.
Vielen Dank für die Hilfe!.
Nach dem ich die neueste Release installiert habe funktioniet es.
Vielen Dank für die Hilfe!.