Difference between revisions of "OpenGL/de"

From Lazarus wiki
Jump to navigationJump to search
(Update)
Line 1: Line 1:
 
{{OpenGL}}
 
{{OpenGL}}
  
OpenGL ist die Plattform-unabhängige Standardbibliothek für die graphische 3D Darstellung. Die selben OpenGL Kommandos arbeiten genau gleich unter allen Plattformen.
+
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.
Der einzige Plattform-abhängige Teil ist die Erzeugung des OpenGL Kontexts. Aber das ist bereits durch die folgenden Packages erledigt, so daß sie nur noch OpenGL lernen müssen.
 
  
== OpenGL Bedienelement ==
+
== OpenGL Units in Free Pascal ==
  
Lazarus kommt mit einem einfach und leicht zu bedienenden OpenGL Bedienelement, welches einen OpenGL Kontext bietet unter den folgenden Plattformen:
+
Die FreePascal OpenGL Schnittstelle besteht aus den 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".
 +
* '''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".
 +
* '''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>
 +
* '''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.
 +
* '''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.
  
* Linux: GTK + GLX, ToDo: gtk2
+
== OpenGL Units in Lazarus ==
* FreeBSD: GTK + GLX, ToDo: gtk2
 
* Windows: Win32 + WGL
 
* MacOSX: Carbon + AGL
 
  
Installieren sie einfach das Package components/opengl/lazopenglcontext.lpk und werfen sie einen Blick auf das Beispiel.
+
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.
  
== GLScene ==
+
== Third party OpenGL Units ==
  
Es gibt ein großes Delphi Package, welches nach Lazarus portiert wurde. Es wurde zusammen mit Werkzeugen und Editoren in die IDE integriert.
+
*[[GLScene/de|GLScene]] ist ein Lazarus Package mit einer Menge zusätzlicher Features für OpenGL Anwendungen.
Siehe [[GLScene/de|GLScene]].
 
  
== Asmoday ==
+
== Tutorial ==
  
[http://sourceforge.net/projects/asmoday Universelle OpenGL 3D Grafikengine für Freepascal]
+
[[OpenGL Tutorial]]
 
 
== Tutorials ==
 
 
 
Es gibt eine Menge Tutorials unter [http://nehe.gamedev.net/ nehe].
 
 
 
siehe auch [[OpenGL Tutorial|OpenGL Tutorial]]
 

Revision as of 12:55, 28 November 2007

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 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 Units in Free Pascal

Die FreePascal OpenGL Schnittstelle besteht aus den 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".
  • 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".
  • glext: Vendors can provide additional functionality through extensions. Use this unit to use these extensions.

    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.

  • 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.
  • 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.

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.

Third party OpenGL Units

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

Tutorial

OpenGL Tutorial