Difference between revisions of "OpenGL/de"

From Free Pascal wiki
Jump to navigationJump to search
(Update)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{OpenGL}}
 
{{OpenGL}}
  
OpenGL ('''Open''' '''G'''raphics '''L'''ibrary) ist die Plattform-unabhängige Standardbibliothek für die graphische 3D Darstellung. Most modern video cards provide hardware accelerated OpenGL support, wich makes OpenGL a good solution for writing advanced graphics software.
+
OpenGL ('''Open''' '''G'''raphics '''L'''ibrary) ist die Plattform-unabhängige Standardbibliothek für graphische 3D-Darstellungen. Die meisten modernen Videokarten unterstützen OpenGL durch Hardwarebeschleunigung. Damit ist OpenGL eine gute Wahl, um anspruchsvolle Grafiksoftware zu schreiben.
  
== OpenGL Units in Free Pascal ==
+
== OpenGL-Units in FreePascal ==
  
Die FreePascal OpenGL Schnittstelle besteht aus den folgenden Units:
+
Die FreePascal OpenGL Schnittstelle besteht aus folgenden Units:
* '''gl''': This unit contains the main functionality such as drawing polygons, applying transformations, setting colors and materials,... Procedures always start with the preposition "gl".
+
* '''gl''': Diese Unit enthält die zentralen Funktion wie Polygone zeichnen, Transformationen anwenden, Farben und Materialien setzen, ... Alle Prozeduren starten mit der Präposition "gl".
* '''glu''': This unit contains OpenGL utils. Although it has some useful functions, this unit is not necessary as you can implement all glu Procedures with the functionality of the gl unit. Procedures always start with the preposition "glu".
+
* '''glu''': Diese Unit enthält die OpenGL-Hilfsprogramme. Obwohl die Unit einige nützliche Funktionen hat, ist sie nicht unbedingt notwendig, weil man alle glu Prozeduren auch mit den Funktionen der gl Unit implementieren kann. Alle Prozeduren starten mit der Präposition "glu".
* '''glext''': Vendors can provide additional functionality through extensions. Use this unit to use these extensions. <p>The functionality specific to higher OpenGL versions (1.2 and later) is available in this unit as well. Initializing this functionality is similar to initializing normal OpenGL extensions: just call Load_GL_version_X_Y function. If your OpenGL library version is older than X.Y, Load_GL_version_X_Y will return false.</p>
+
* '''glext''': Drittanbieter können hier zusätzliche Funktionen über Erweiterungen anbieten. <p> Funktionen höherer OpenGL-Versionen (1.2 und neuer) stehen ebenfalls über diese Unit  zur Verfügung. Die Initialisierung entspricht der Initialisierung normaler OpenGL-Erweiterungen: einfach die Funktion Load_GL_version_X_Y aufrufen. Ist ihre Version der OpenGL-Bibliothek älter als X.Y, gibt Load_GL_version_X_Y den Wert false zurück.</p>
* '''glut''': This unit provides functionality for creating an OpenGL window. Although this is a cross-platform unit, most Windows operating systems don't have a glut dll by default.
+
* '''glut''': Diese Unit enthält die Funktionen für die Erzeugung von OpenGL-Fenster. Obwohl sie cross-platform ist, fehlt bei den meisten Windows-Betriebssystemen die glut dll in der Standardeinstellung.
* '''glx''': glx provides functionality to set up an OpenGL window in an x window system. Procedures always start with the preposition "glx". Obviously, you cannot use this unit on non-x window systems such as Windows.
+
* '''glx''': Diese Unit enthält die Funktionen für das Aufsetzen eines OpenGL-Fensters in einem X-Window-System. Alle Prozeduren starten it der Präposition "glx". Offensichtlich kann diese Unit nur unter X-Window-Systemen und nicht unter Windows verwendet werden.
  
== OpenGL Units in Lazarus ==
+
== OpenGL-Units in Lazarus ==
  
Lazarus beinhaltet ein TOpenGLControl - ein LCL Bedienelement mit einem OpenGL Kontext. Das Lazarus Package LazOpenGLContext befindet sich hier: lazarus/components/opengl/lazopenglcontext.lpk. Ein Beispiel befindet sich hier: lazarus/examples/openglcontrol/openglcontrol_demo.lpi.
+
Lazarus beinhaltet ein TOpenGLControl - ein LCL-Bedienelement mit einem OpenGL-Kontext. Das Lazarus-Package LazOpenGLContext befindet sich hier: lazarus/components/opengl/lazopenglcontext.lpk. Ein Beispiel befindet sich hier: lazarus/examples/openglcontrol/openglcontrol_demo.lpi.
  
== Third party OpenGL Units ==
+
== OpenGL-Units von Drittanbietern ==
  
*[[GLScene/de|GLScene]] ist ein Lazarus Package mit einer Menge zusätzlicher Features für OpenGL Anwendungen.
+
*[[GLScene/de|GLScene]] ist ein Lazarus-Package mit einer Menge zusätzlicher Features für OpenGL-Anwendungen.
  
 
== Tutorial ==
 
== Tutorial ==
 +
* [[OpenGL Tutorial]] (englisch)
 +
* [[OpenGL Tutorial/de|OpenGL Tutorial]] (deutsch)
  
[[OpenGL Tutorial]]
+
== Tutorial OpenGL 3.3 ( modern OpenGL )==
 +
* [https://wiki.delphigl.com/index.php/Lazarus_-_OpenGL_3.3_Tutorial Lazarus OpenGL 3.3 - Tutorial]- (deutsch) (extern)
 +
* [https://github.com/sechshelme/Lazarus-OpenGL-3.3-Tutorial/blob/master/wiki.md Lazarus OpenGL 3.3 - Tutorial]- (deutsch) (extern) (github)

Latest revision as of 15:03, 9 August 2022

Deutsch (de) English (en) français (fr) 日本語 (ja) português (pt) русский (ru) Tiếng Việt (vi) 中文(中国大陆)‎ (zh_CN)

OpenGL (Open Graphics Library) ist die Plattform-unabhängige Standardbibliothek für graphische 3D-Darstellungen. Die meisten modernen Videokarten unterstützen OpenGL durch Hardwarebeschleunigung. Damit ist OpenGL eine gute Wahl, um anspruchsvolle Grafiksoftware zu schreiben.

OpenGL-Units in FreePascal

Die FreePascal OpenGL Schnittstelle besteht aus folgenden Units:

  • gl: Diese Unit enthält die zentralen Funktion wie Polygone zeichnen, Transformationen anwenden, Farben und Materialien setzen, ... Alle Prozeduren starten mit der Präposition "gl".
  • glu: Diese Unit enthält die OpenGL-Hilfsprogramme. Obwohl die Unit einige nützliche Funktionen hat, ist sie nicht unbedingt notwendig, weil man alle glu Prozeduren auch mit den Funktionen der gl Unit implementieren kann. Alle Prozeduren starten mit der Präposition "glu".
  • glext: Drittanbieter können hier zusätzliche Funktionen über Erweiterungen anbieten.

    Funktionen höherer OpenGL-Versionen (1.2 und neuer) stehen ebenfalls über diese Unit zur Verfügung. Die Initialisierung entspricht der Initialisierung normaler OpenGL-Erweiterungen: einfach die Funktion Load_GL_version_X_Y aufrufen. Ist ihre Version der OpenGL-Bibliothek älter als X.Y, gibt Load_GL_version_X_Y den Wert false zurück.

  • glut: Diese Unit enthält die Funktionen für die Erzeugung von OpenGL-Fenster. Obwohl sie cross-platform ist, fehlt bei den meisten Windows-Betriebssystemen die glut dll in der Standardeinstellung.
  • glx: Diese Unit enthält die Funktionen für das Aufsetzen eines OpenGL-Fensters in einem X-Window-System. Alle Prozeduren starten it der Präposition "glx". Offensichtlich kann diese Unit nur unter X-Window-Systemen und nicht unter Windows verwendet werden.

OpenGL-Units in Lazarus

Lazarus beinhaltet ein TOpenGLControl - ein LCL-Bedienelement mit einem OpenGL-Kontext. Das Lazarus-Package LazOpenGLContext befindet sich hier: lazarus/components/opengl/lazopenglcontext.lpk. Ein Beispiel befindet sich hier: lazarus/examples/openglcontrol/openglcontrol_demo.lpi.

OpenGL-Units von Drittanbietern

  • GLScene ist ein Lazarus-Package mit einer Menge zusätzlicher Features für OpenGL-Anwendungen.

Tutorial

Tutorial OpenGL 3.3 ( modern OpenGL )