<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>https://wiki.delphigl.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Johannes</id>
		<title>DGL Wiki - Benutzerbeiträge [de]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.delphigl.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Johannes"/>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php/Spezial:Beitr%C3%A4ge/Johannes"/>
		<updated>2026-05-30T23:30:00Z</updated>
		<subtitle>Benutzerbeiträge</subtitle>
		<generator>MediaWiki 1.27.4</generator>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=glLoadMatrix&amp;diff=353</id>
		<title>glLoadMatrix</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=glLoadMatrix&amp;diff=353"/>
				<updated>2004-07-25T18:20:35Z</updated>
		
		<summary type="html">&lt;p&gt;Johannes: =Beispiel-Quelltext=&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= glLoadMatrix =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== glLoadMatrix ==&lt;br /&gt;
----&lt;br /&gt;
'''glLoadMatrix''' - ersetzt die aktuelle Matrix durch eine Beliebige Matrix.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Delphi-Spezifikation ==&lt;br /&gt;
----&lt;br /&gt;
'''procedure''' glLoadMatrixd('''const''' ''m'': PGLdouble); &amp;lt;br&amp;gt;&lt;br /&gt;
'''procedure''' glLoadMatrixf('''const''' ''m'': PGLfloat);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Parameter ==&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;table border=1 rules=all&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;''m''&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;Zeiger auf eine 4x4 Matrix welche die aktuelle Matrix ersetzen soll.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Beschreibung == &lt;br /&gt;
----&lt;br /&gt;
'''glLoadMatrix''' ersetzt die aktuelle Matrix durch die, über ''m'' definierte.&amp;lt;br&amp;gt;&lt;br /&gt;
Die aktuelle Matrix ist entweder die Projektionsmatrix, die Modelviewmatrix oder die Texturematrix (je nach aktuellem Matrixmodus ([[glMatrixMode]]) ). &amp;lt;br&amp;gt;&lt;br /&gt;
Der Parameter ''m'' zeigt auf eine 4x4 Matrix welche spaltenweise Fließkommazahlen mit einfacher oder doppelter Genauigkeit enthält (single oder double). &amp;lt;br&amp;gt;&lt;br /&gt;
Eine solche Matrix würde so gespeichert werden:&lt;br /&gt;
===Beispiel-Quelltext===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Als Ersatzt für [[glPushMatrix]] / [[glPopMatrix]]:&lt;br /&gt;
|&lt;br /&gt;
 &amp;lt;b&amp;gt;type&amp;lt;/b&amp;gt;&lt;br /&gt;
   TVektor = &amp;lt;b&amp;gt;record&amp;lt;/b&amp;gt; X,Y,Z,W:glFloat &amp;lt;b&amp;gt;end&amp;lt;/b&amp;gt;;&lt;br /&gt;
   TMatrix = &amp;lt;b&amp;gt;array&amp;lt;/b&amp;gt;[(mat_XAchse,mat_YAchse,mat_ZAchse,mat_Position)] &amp;lt;b&amp;gt;of&amp;lt;/b&amp;gt; TVertex;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;b&amp;gt;var&amp;lt;/b&amp;gt;&lt;br /&gt;
   TempMatrix:TMatrix;&lt;br /&gt;
 &amp;lt;b&amp;gt;begin&amp;lt;/b&amp;gt;&lt;br /&gt;
  glClearColor(0,0,0,0);&lt;br /&gt;
  glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);&lt;br /&gt;
  glMatrixMode(GL_MODELVIEW);&lt;br /&gt;
  glLoadIdentity;  &lt;br /&gt;
&lt;br /&gt;
  glTranslatef(-0.8,-0.5,0); &amp;lt;font color=&amp;quot;#000080&amp;quot;&amp;gt;&amp;lt;i&amp;gt;//Vorgebene Startposition&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
  glGetFloatv(GL_MODELVIEW_MATRIX,@TempMatrix);&amp;lt;font color=&amp;quot;#000080&amp;quot;&amp;gt;&amp;lt;i&amp;gt;//Matrix wird gespeichert&lt;br /&gt;
&lt;br /&gt;
  {Rotes Dreieck}&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
  glColor3f(1,0,0);&lt;br /&gt;
  gltranslatef(1,0,0);&lt;br /&gt;
  glbegin(GL_TRIANGLES);&lt;br /&gt;
    glvertex3f(1,0  ,-2);&lt;br /&gt;
    glvertex3f(0,1  ,-2);&lt;br /&gt;
    glvertex3f(0,0  ,-2);&lt;br /&gt;
  glend;&lt;br /&gt;
  glLoadMatrixf(@TempMatrix);&amp;lt;font color=&amp;quot;#000080&amp;quot;&amp;gt;&amp;lt;i&amp;gt;//Gespeicherte Matrix wird wieder geladen&lt;br /&gt;
&lt;br /&gt;
  {Grünes Dreieck}&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
  glColor3f(0,1,0);&lt;br /&gt;
  glbegin(GL_TRIANGLES);&lt;br /&gt;
    glvertex3f(1,0  ,-2);&lt;br /&gt;
    glvertex3f(0,1  ,-2);&lt;br /&gt;
    glvertex3f(0,0  ,-2);&lt;br /&gt;
  glend;&lt;br /&gt;
 &amp;lt;b&amp;gt;end;&amp;lt;/b&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fehlermeldungen ==&lt;br /&gt;
----&lt;br /&gt;
GL_INVALID_OPERATION wird generiert wenn glLoadMatrix innerhalb eines [[glBegin]]-[[glEnd]] Blocks aufgerufen wird.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==  Zugehörige Wertrückgaben ==&lt;br /&gt;
----&lt;br /&gt;
[[glGet]] mit Token GL_MATRIX_MODE&amp;lt;br&amp;gt;&lt;br /&gt;
[[glGet]] mit Token GL_MODELVIEW_MATRIX&amp;lt;br&amp;gt;&lt;br /&gt;
[[glGet]] mit Token GL_PROJECTION_MATRIX&amp;lt;br&amp;gt;&lt;br /&gt;
[[glGet]] mit Token GL_TEXTURE_MATRIX&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
----&lt;br /&gt;
[[glLoadIdentity]], [[glMatrixMode]], [[glMultMatrix]], [[glPushMatrix]]&lt;/div&gt;</summary>
		<author><name>Johannes</name></author>	</entry>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=Diskussion:Tiefentest&amp;diff=250</id>
		<title>Diskussion:Tiefentest</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=Diskussion:Tiefentest&amp;diff=250"/>
				<updated>2004-07-17T09:16:59Z</updated>
		
		<summary type="html">&lt;p&gt;Johannes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wenn man Transparente Objekte verwendet sieht man doch gar nicht die Elemente dahinter, oder!?&lt;br /&gt;
Das Element im Vordergrund wird nur mit dem Bereits im Framebuffer liegenden Farbwerten verblendet. Wenn man denkt, man sieht durch ein Objekt durch, ist dies nur eine Täuschung. In Wirklichkeit hat das Weiter vorn stehende Objekt nur Partiell die Farbe des Dahinterliegenden Objekts angenommen.&lt;br /&gt;
&lt;br /&gt;
Mein Nachhacken spielt auf den letzten Absatz an.&lt;br /&gt;
&lt;br /&gt;
Naja ich denk das ist so gemeint wenn du ein transparentes Objekt in den Vordergrund zeichnest und danach ein anderes (transparentes oder nicht transparentes) Objekt &amp;quot;dahinter&amp;quot; zeicjnest dann wird doch durch den Tiefenbuffer das Objekt nicht angezeigt, da das transparente Objekt schon den Tiefenpuffer mit höheren Werten beschriebn hat.. Das kann man dadurch ändern, das transparente Objekte nicht auf den Tiefenpuffer schreiben (aber von ihm lesen)&lt;/div&gt;</summary>
		<author><name>Johannes</name></author>	</entry>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=Shader_(historisch)&amp;diff=239</id>
		<title>Shader (historisch)</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=Shader_(historisch)&amp;diff=239"/>
				<updated>2004-07-13T11:21:13Z</updated>
		
		<summary type="html">&lt;p&gt;Johannes: =Ressourcen=&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Shader =&lt;br /&gt;
&lt;br /&gt;
== Konzept ==&lt;br /&gt;
----&lt;br /&gt;
Die traditionelle Funktionspipeline der OpenGL ist eine feste Pipeline, auf die man nur beschränkt Einfluß nehmen kann (durch Statechanges), man hat also an sehr vielen Stellen starre Vorgaben die nur minimal anpassbar sind. So sind z.B. Farbberechnungen oder die Beleuchtung fest definiert und nur wenige ihrere Attribute können variiert werden. Zurückzuführen war/ist dieser Umstand v.a. darauf dass Grafikkarten bis vor kurzem nur feste Berechnungseinheiten besaßen, die man auch nicht programmieren konnte. (siehe z.B. die fest verdrahtete T&amp;amp;L-Einheit der ersten GeForce-Karten)&lt;br /&gt;
&lt;br /&gt;
Allerdings haben vor einigen Jahren Grafikkarten mit teilweise programmierbaren Einheiten (erst waren dies recht eingeschränkt programmierbare Vertexeinheiten, inzwsichen sind selbst die Fragmentprozessoren recht frei programmierbar, siehe z.B. VS/PS3.0) Einzug in den Consumermarkt gefunden, und so war es nötig OpenGL auch um programmierbare Pipeline-Teile zu erweitern, und die neuste Inkarnation sind dabei Shader.&lt;br /&gt;
&lt;br /&gt;
Seit neustem gibt es neben den herstellerabhängigen Funktionen zum Programmieren der Vertex- und Fragmentprozessoren auch standardisierte Erweiterungen. Zuerst waren dies GL_VERTEX_PROGRAM_ARB/GL_FRAGMENT_PROGRAM_ARB, mit denen man diese beiden Prozessoren (sofern auf der Grafikkarte vorhanden) in einer an Assembler (recht primitiv, mit nur wenigen Befehlen, alle auf Grafikprogrammierung ausgelegt) angelehnten Sprache programmieren konnte. Man schreibt dazu also ein Programm dass den entsprechenden Teil der festen Funktionspipeline ersetzt und führt dieses dann auf der Grafikkarte aus. So kann man für Vertices und Fragmente komplett eigene Berechnungen durchführen. Allerdings ist eine solche Assemblersprache nicht nur recht eingeschränkt, sondern auch recht kryptisch und daher nicht zuletzt (besonders bei großen Programmen) schlecht zu warten. Also hat OpenGL hier genau wie die normalen Programmiersprachen als nächste Iteration für programmierbare Teile der Pipeline eine ''Hochsprache'' verpasst bekommen, namentlich als '''glSlang''' bekannt.&lt;br /&gt;
&lt;br /&gt;
Hiessen die Programme unter der Assemblersprache noch (passen) Vertexprogramm bzw. Fragmentprogramm, so hat man sich unter glSlang etwas angepasst (an D3D) und nennt diese nun '''Vertexshader''' bzw. '''Fragmentshader''' (Shader bedeutet &amp;quot;schattieren&amp;quot;, stimmt also nicht 100%ig). &lt;br /&gt;
&lt;br /&gt;
Diese Shader kann man wie angesprochen nun in einer '''an C angelehnten Hochsprache''' schreiben, was zur Folge hat dass sich die Programmierung der entsprechenden Grafikprozessoren reichlich vereinfacht hat, und ausserdem hat man glSlang um recht viele Dinge erweitert die in der Assemblersprache nicht (oder nicht gerade einfach) möglich waren. Darunter Schleifen, Funktionen, uvm.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Voraussetzungen ==&lt;br /&gt;
----&lt;br /&gt;
Shader sind ein recht neues Konzept unter OpenGL und mit glSlang wollte man eine reichlich zukunftsorientierte Hochsprache für Shader schaffen. Deshalb hat man gleich auf alte Shaderversionen verzichtet und setzt '''Vertexshader und Pixelshader in der Version 2.0''' voraus, die bei ATI ab der Radeon 9500 und bei NVidia ab der Geforce FX zur Verfügung stehen. &lt;br /&gt;
&lt;br /&gt;
Momentan stellt glSlang eine Erweiterung zur OpenGL-Version 1.5 dar, also benötigt man neben der oben erwähnten Hardware auch noch passende Treiber und OpenGL-Header. Für Delphi bietet die DGL einen eigenen Header an, der diese Funktionalität mitbringt ([http://www.delphigl.com/do_download.php?f=12000 Download]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Extensions ==&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[GL_ARB_Shader_Objects]]&amp;lt;/li&amp;gt;&lt;br /&gt;
Definiert die API-Aufrufe die zum Erstellen, Kompilieren, Linken, Anhängen und Aktivieren von Shader- und Programmobjekten nötig sind. &lt;br /&gt;
&amp;lt;li&amp;gt;[[GL_ARB_Vertex_Shader]]&amp;lt;/li&amp;gt;&lt;br /&gt;
Fügt der OpenGL Programmierbarkeit auf Vertexebene hinzu. &lt;br /&gt;
&amp;lt;li&amp;gt;[[GL_ARB_Fragment_Shader]]&amp;lt;/li&amp;gt;&lt;br /&gt;
Fügt der OpenGL Programmierbarkeit auf Fragmentebene hinzu. &lt;br /&gt;
&amp;lt;li&amp;gt;[[GL_ARB_Shading_Language_100]]&amp;lt;/li&amp;gt;&lt;br /&gt;
Gibt die unterstützte Version von glSlang an, momentan 1.00.&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[glAttachObjectARB]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[glBindAttribLocationARB]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[glCompileShaderARB]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[glCreateProgramObjectARB]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[glCreateShaderObjectARB]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[glDeleteObjectARB]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[glDetachObjectARB]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[glEnableVertexAttribArrayARB]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[glGetActiveAttribARB]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[glGetActiveUniformARB]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[glGetAttachedObjectsARB]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[glGetAttribLocationARB]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[glGetHandleARB]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[glGetInfoLogARB]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[glGetObjectParameterARB]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[glGetShaderSourceARB]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[glGetUniformARB]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[glGetUnifromLocationARB]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[glGetVertexAttribARB]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[glGetVertexAttribPointervARB]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[glLinkProgramARB]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[glShaderSourceARB]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[glUniformARB]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[glUseProgramObjectARB]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[glValidateProgramARB]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[glVertexAttribARB]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[glVertexAttribPointerARB]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ressourcen ==&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[http://www.delphigl.com/do_download.php?f=12000 OpenGL1.5-Header für Delphi (mit glSlang-Extensions)]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[http://www.delphigl.com/script/do_show.php?name=glslang&amp;amp;action=2 glSlang-Tutorial auf DGL] (Deutsch)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[http://www.opengl.org/documentation/oglsl.html Offizielle glSlang-Dokumentation] (Englisch)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[http://developer.3dlabs.com/openGL2/index.htm Offizielle OpenGL2/OpenGL HLSL-Seiten] (Englisch)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[http://www.clockworkcoders.com/oglsl glSlang Tutorials] (Englisch)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[http://www.shadertech.com/ ShaderTech - GPU Programming] (Englisch)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Johannes</name></author>	</entry>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=Diskussion:Funktionsvorlage&amp;diff=264</id>
		<title>Diskussion:Funktionsvorlage</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=Diskussion:Funktionsvorlage&amp;diff=264"/>
				<updated>2004-07-12T12:14:39Z</updated>
		
		<summary type="html">&lt;p&gt;Johannes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;wie wäre es wenn man noch ein Beispiel zu jeder Funktion hinzufügen könnte (wie das z.B. bei begin end und bei glvertex* schion der fall ist) (bei zussamenhängenden funktion wie die ganzen list und texture funktionen kann man ja auf ein Beispiel verlinken)&lt;/div&gt;</summary>
		<author><name>Johannes</name></author>	</entry>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=Hilfe:Bearbeitungshilfe&amp;diff=244</id>
		<title>Hilfe:Bearbeitungshilfe</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=Hilfe:Bearbeitungshilfe&amp;diff=244"/>
				<updated>2004-07-11T14:50:54Z</updated>
		
		<summary type="html">&lt;p&gt;Johannes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Einfache Textgestalltung==&lt;br /&gt;
&lt;br /&gt;
===Texthervorhebung===&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0&lt;br /&gt;
! Bezeichnung&lt;br /&gt;
! Wiki Syntax&lt;br /&gt;
! HTML Code&lt;br /&gt;
! So sieht es aus&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|Fetter Text &lt;br /&gt;
| &amp;lt;nowiki&amp;gt;'''Text'''&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;b&amp;gt;Text&amp;lt;/b&amp;gt;&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
|'''Text''' &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|Kursiver Text &lt;br /&gt;
| &amp;lt;nowiki&amp;gt;''Text''&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;i&amp;gt;Text&amp;lt;/i&amp;gt;&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
|''Text'' &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|Unterstrichener Text&lt;br /&gt;
| &lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;u&amp;gt;Text&amp;lt;/u&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;u&amp;gt;Text&amp;lt;/u&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|Durchgestrichener Text&lt;br /&gt;
| &lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;strike&amp;gt;Text&amp;lt;/strike&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;strike&amp;gt;Text&amp;lt;/strike&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Nach Möglichkeit sollte man die Wikischreibweise nehemen.&lt;br /&gt;
&lt;br /&gt;
===Überschriften===&lt;br /&gt;
&lt;br /&gt;
Eine Überschirft wird mit  '''&amp;lt;nowiki&amp;gt;==&amp;lt;/nowiki&amp;gt;''' umgeben.&lt;br /&gt;
Möchte man zu einer Überschirft eine Unterüberschirft bilden so verwendet man ein = mehr.&lt;br /&gt;
'''Beispiel''':&lt;br /&gt;
{| border=1 cellspacing=0&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;==Überschrift==&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;===UnterüberschirftA===&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;====Unter-Unterüberschirft1====&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;====Unter-Unterüberschirft2====&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;===UnterüberschirftB===&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Gibt es mehere Überschriften, wird automatisch ein Inhaltsverzeichnis gebildet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Absätze und der Zeilenumbruch==&lt;br /&gt;
Die Wiki-Software beginnt normalerweise nur einen neuen Absatz wenn eine Zeile freigelassen wird.&lt;br /&gt;
Möchte man die Absätze weiter auseinander, oder möchte einen manuellen Zeilenumbruch haben, so kann der HTML Tag '''&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;''' genutzt werden&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0&lt;br /&gt;
! Text im Editor&lt;br /&gt;
! Vorschau&lt;br /&gt;
|-&lt;br /&gt;
| Hallo, &amp;lt;br&amp;gt; hier wird das Absatzzeichen ignoriert.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Das ist ein &amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt; manueller Umbruch.&lt;br /&gt;
| Hallo,&lt;br /&gt;
hier wird das Absatzzeichen ignoriert.&lt;br /&gt;
&lt;br /&gt;
Das ist ein &amp;lt;br&amp;gt; manueller Umbruch.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Unformatierter Text==&lt;br /&gt;
Es gibt zwei Arten Text nicht formatieren zu lassen.&lt;br /&gt;
&lt;br /&gt;
===Absolut unformatierter Text===&lt;br /&gt;
Soll weder HTML noch Wiki Syntay greifen so wird der Text mit nowiki Tags umschlossen:&lt;br /&gt;
{| border=1 cellspacing=0&lt;br /&gt;
! Im Editor&lt;br /&gt;
! So sieht es aus&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;b&amp;gt; Unformatierter&amp;lt;/b&amp;gt; ''Text'' &amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;lt;b&amp;gt; Unformatierter&amp;lt;/b&amp;gt; ''Text'' &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Kein Wiki(für Quelltext)===&lt;br /&gt;
Möchte man etwa Delphi-Quelltext anzeigen so kann man dies tun indem man ein '''Leerzeichen''' dem Text vorranstellt und mit HTML formatiert.&amp;lt;br&amp;gt;&lt;br /&gt;
Ein nützliches Tool mit dem man unter anderem direkt aus der IDE HTML Code exportieren kann ist: http://www.gexperts.org/ &lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0&lt;br /&gt;
! Im Editor&lt;br /&gt;
|&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;b&amp;gt;procedure&amp;lt;/b&amp;gt; Text;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;b&amp;gt;begin&amp;lt;/b&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
   &amp;lt;nowiki&amp;gt;MyArray[Index] := Int2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! So sieht es aus&lt;br /&gt;
|&lt;br /&gt;
 &amp;lt;b&amp;gt;procedure&amp;lt;/b&amp;gt; Text;&lt;br /&gt;
 &amp;lt;b&amp;gt;begin&amp;lt;/b&amp;gt;&lt;br /&gt;
   MyArray[Index] := Int2&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
{| border=1 cellspacing=0&lt;br /&gt;
! Beschreibung&lt;br /&gt;
! Im Editor&lt;br /&gt;
! So sieht es aus&lt;br /&gt;
! Hinweise&lt;br /&gt;
|-&lt;br /&gt;
|Link inerhalb des Wikis&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;[[glEnd]], [[glTranslate]]f]&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
| [[glEnd]], [[glTranslate]]f&lt;br /&gt;
| Exsistiert das Thema noch nicht erscheint der Link automatisch rot. Steht etwas direkt hinter dem Link wird es ebenfalls als Link dargestellt.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|Link inerhalb des Wikis, mit einer anderen Bezeichnung&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;[[Funktions_Anhang|Suffixe]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|[[Funktions_Anhang|Suffixe]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| externer Link&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://www.delphigl.com&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
|http://www.delphigl.com&lt;br /&gt;
| Ein Link brauch einfach nur vollständig angebenen werden.(mit http:\\)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Mehere externe Links&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;[http://delphigl.com], [http://www.opengl.org]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|[http://delphigl.com], [http://www.opengl.org]&lt;br /&gt;
| Eine einfache eckige Klammer um den vollständigen Link&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| externer Link mit anderer Bezeichnung&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;[http://delphigl.com DGL]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|[http://delphigl.com DGL],&lt;br /&gt;
| Eine einfache eckige Klammer um den vollständigen Link inklusive alternativ Text&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tabellen==&lt;br /&gt;
Eine Tabelle kann entweder mit Hilfe der Wiki Syntax oder mit HTML erstellt werden.&lt;br /&gt;
&lt;br /&gt;
===Eine Einfache Tabelle===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Wiki Syntax A&lt;br /&gt;
!Wiki Syntax B&lt;br /&gt;
!HTML Code&lt;br /&gt;
!So sieht es aus&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;{|&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|A1&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|B1&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|-&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|A2&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|B2&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;{|&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|A1 || B1&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|-&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|A2 || B2&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;lt;table&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;A1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;B1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;A2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;B2&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|A1 || B1&lt;br /&gt;
|-&lt;br /&gt;
|A2 || B2&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Erweiterte Einstellungen===&lt;br /&gt;
Um eine Tabelle mehr zu modifizieren, können Einstellungen übergeben werden.&lt;br /&gt;
Eine Einstellung sieht so aus:&lt;br /&gt;
&lt;br /&gt;
 Name = &amp;quot;Wert&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Bei einer '''Wiki''' Tabelle können die Parameter hinter '''&amp;lt;nowiki&amp;gt;{|&amp;lt;/nowiki&amp;gt;''' geschrieben werden.&lt;br /&gt;
&lt;br /&gt;
Bei einer '''HTML''' Tabelle kommen diese zwischen '''&amp;lt;nowiki&amp;gt;&amp;lt;table&amp;lt;/nowiki&amp;gt;''' und '''&amp;lt;nowiki&amp;gt;&amp;gt;&amp;lt;/nowiki&amp;gt;'''.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|+ Folgende Parameter stehen dabei zur Auswahl:&lt;br /&gt;
!Name&lt;br /&gt;
!Standart&lt;br /&gt;
!Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|border&lt;br /&gt;
|0&lt;br /&gt;
|Legt die Dicke des Rahmen fest.&lt;br /&gt;
|-&lt;br /&gt;
|cellspacing&lt;br /&gt;
|1&lt;br /&gt;
|Legt den Platz zwischen den einzelen Zellen fest.&lt;br /&gt;
|-&lt;br /&gt;
|align&lt;br /&gt;
|&lt;br /&gt;
|Legt fest wo sich die Tabelle befindet. Mögliche Werte sind: &amp;quot;right&amp;quot;,&amp;quot;center&amp;quot;,&amp;quot;left&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Beispiel''':&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
! Im Editor&lt;br /&gt;
! Vorschau&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;| B&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;| ei&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|-&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;| s&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;| p&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|-&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;| ie&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;| l&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| B&lt;br /&gt;
| ei&lt;br /&gt;
|-&lt;br /&gt;
| s&lt;br /&gt;
| p&lt;br /&gt;
|-&lt;br /&gt;
| ie&lt;br /&gt;
| l&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Beschriftungen===&lt;br /&gt;
Möchte man das eine Zelle eine Bezeichnung beinhaltet verwendet man statt '''&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;''' einfach ein Ausrufezeichen ('''&amp;lt;nowiki&amp;gt;!&amp;lt;/nowiki&amp;gt;''')&lt;br /&gt;
&lt;br /&gt;
Möchte man hingen der Tabelle einen Namen geben schreibt man dieses mit folgenden Zeichen vorrangestellt '''&amp;lt;nowiki&amp;gt;|+&amp;lt;/nowiki&amp;gt;''' unter '''&amp;lt;nowiki&amp;gt;{|&amp;lt;/nowiki&amp;gt;'''.&lt;br /&gt;
&lt;br /&gt;
'''Beispiel'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
! Im Editor&lt;br /&gt;
! Vorschau&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;nowiki&amp;gt;{| border=&amp;quot;1&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|+ Tabellen Beispiel&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;! Tabelle&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;! A&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;! B&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|-&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;! 1&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;| A1&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;| B1&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|-&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;! 2&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;| A2&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;| B2&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Tabellen Beispiel&lt;br /&gt;
! Tabelle&lt;br /&gt;
! A&lt;br /&gt;
! B&lt;br /&gt;
|-&lt;br /&gt;
! 1&lt;br /&gt;
| A1&lt;br /&gt;
| B1&lt;br /&gt;
|-&lt;br /&gt;
! 2&lt;br /&gt;
| A2&lt;br /&gt;
| B2&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Aufzählungen und Einrückungen==&lt;br /&gt;
Man kann Einrückungen und Aufzählungen erstellen in dem man an den Begin einer Zeile ein oder mehre Zeichen schreibt.&lt;br /&gt;
{| border=1 cellspacing=0&lt;br /&gt;
! Typ&lt;br /&gt;
! Zeichen&lt;br /&gt;
! Beispiel Code&lt;br /&gt;
! So sieht es aus&lt;br /&gt;
|-&lt;br /&gt;
|Einrückung&lt;br /&gt;
| '''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;nowiki&amp;gt;Dies&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:Ist&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:ein&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;::eingerückter&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:::Text&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
Dies&lt;br /&gt;
:Ist&lt;br /&gt;
:ein&lt;br /&gt;
::eingerückter&lt;br /&gt;
:::Text&lt;br /&gt;
|-&lt;br /&gt;
|Aufzählung&lt;br /&gt;
|'''&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#Zahlen&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;##In richtiger Reinfolge&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;##ganz automatisch&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#Keine Punke&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
#Zahlen&lt;br /&gt;
##In richtiger Reinfolge&lt;br /&gt;
##ganz automatisch&lt;br /&gt;
#Keine Punke&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Aufzählung mit Punkten&lt;br /&gt;
|'''&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;Aufzählung&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*Mit Punkten&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;**Durch Sternzeichen&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;**Die schön aussehen&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*Ohne Zahlen&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
Aufzählung&lt;br /&gt;
*Mit Punkten&lt;br /&gt;
**Durch Sternzeichen&lt;br /&gt;
**Die schön aussehen&lt;br /&gt;
*Ohne Zahlen&lt;br /&gt;
|}&lt;br /&gt;
Naürilich kann man auch alle drei Aufzähltypen miteinander kombinieren.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Siehe Auch ==&lt;br /&gt;
*[http://de.wikipedia.org/wiki/Wikipedia:Hilfe Wikipedia:Hilfe]&lt;br /&gt;
*[http://de.wikipedia.org/wiki/Wikipedia:Seite_bearbeiten Wikipedia:Seite bearbeiten]&lt;/div&gt;</summary>
		<author><name>Johannes</name></author>	</entry>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=glNewList&amp;diff=371</id>
		<title>glNewList</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=glNewList&amp;diff=371"/>
				<updated>2004-07-10T14:03:17Z</updated>
		
		<summary type="html">&lt;p&gt;Johannes: =GL_COMPILE_AND_EXECUTE=&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= glNewList, glEndList =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Name ==&lt;br /&gt;
&lt;br /&gt;
'''glNewList, glEndList''' - Erstellt oder ersetzt eine [[Displaylisten|Displayliste]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Delphi-Spezifikation ==&lt;br /&gt;
&lt;br /&gt;
procedure '''glNewList'''(''list'' : TGLuint; ''mode'' : TGLenum);&amp;lt;br&amp;gt;&lt;br /&gt;
procedure '''glEndList''';&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Parameter ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=1 rules=all&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;''list''&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;Name der Displayliste.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;''mode''&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;Gibt den Kompilierungsmodus an; gültig ist hier '''GL_COMPILE''' und '''GL_COMPILE_AND_EXECUTE'''.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beschreibung == &lt;br /&gt;
&lt;br /&gt;
[[Displaylisten]] sind eine Gruppe von OpenGL-Befehlen die für eine nachfolgende Ausführung gespeichert werden und werden mit dem Befehl '''glNewList''' erstellt. Alle nachfolgenden Befehle werden in der Displayliste abgelegt bis '''glEndList''' aufgerufen wird.&lt;br /&gt;
&lt;br /&gt;
'''glNewList''' erhält dabei als erstes Argument einen positiven Integerwert der den eindeutigen Namen der Displayliste darstellt (Namen können mit [[glGenLists]] erstellt und mit [[glIsList]] geprüft werden. Das zweite Argument, ''mode'', ist eine symbolische Konstante die die folgenden Wert annehmen kann :&lt;br /&gt;
&lt;br /&gt;
=== GL_COMPILE ===&lt;br /&gt;
Die Befehlewerden nur kompiliert.&lt;br /&gt;
&lt;br /&gt;
=== GL_COMPILE_AND_EXECUTE ===&lt;br /&gt;
Die Befehle werden gleichzeitig zur Kompilierung auch ausgeführt.&lt;br /&gt;
&lt;br /&gt;
Bestimmte Befehle werden übrigens nicht in die Displayliste kompiliert, sondern dort direkt ausgeführt, unabhängig vom Modus der Displayliste, darunter [[glColorPointer]], [[glDeleteLists]], [[glDisableClientState]], [[glEdgeFlagPointer]], [[glEnableClientState]], [[glFeedbackBuffer]], [[glFinish]], [[glFlush]], [[glGenLists]], [[glIndexPointer]], [[glInterleavedArrays]], [[glIsEnabled]], [[glIsList]], [[glNormalPointer]], [[glPopClientAttrib]], [[glPixelStore]], [[glPushClientAttrib]], [[glReadPixels]], [[glRenderMode]], [[glSelectBuffer]], [[glTexCoordPointer]], [[glVertexPointer]], und alle [[glGet]]-Befehle.&lt;br /&gt;
Die Befehle [[glTexImage1D]], [[glTexImage2D]] und [[glTexImage3D]] werden auch direkt ausgeführt statt in die Liste hineinkompiliert zu werden, sobald ihr erstes Argument '''GL_PROXY_TEXTURE_1D''', '''GL_PROXY_TEXTURE_2D''' oder '''GL_PROXY_TEXTURE_3D''' ist.&lt;br /&gt;
&lt;br /&gt;
Sobald '''glEndList''' aufgerufen wird, wird die Erstellung der Displayliste beendet und diese mit dem eindeutigen Namen verbunden. Wenn eine Displayliste mit dem gleichen Namen bereits existiert, wird diese überschrieben.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
[[glCallList]] und [[glCallLists]] können innerhalb einer Displayliste aufgerufen werden, aber Befehle innerhalb dieser aufgerufenen Displaylisten werden NICHT in die aufrufende Displayliste hineinkompiliert, unabhängig vom Modus.&lt;br /&gt;
&lt;br /&gt;
Eine Displayliste ist eine Gruppe von Befehlen und Argumente, also werden Fehler innerhalb einer Displayliste ausgelöst sobald diese aufgerufen wird, nicht jedoch wenn diese nur kompiliert wird.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Fehlermeldungen ==&lt;br /&gt;
&lt;br /&gt;
'''GL_INVALID_VALUE''' wird generiert wenn ''list'' gleich 0 ist.&lt;br /&gt;
&lt;br /&gt;
'''GL_INVALID_ENUM''' wird generiert wenn ''mode'' kein gültiges Token ist.&lt;br /&gt;
&lt;br /&gt;
'''GL_INVALID_OPERATION''' wird generiert wenn '''glEndList''' ohne vorhergehendes '''glNewList''' aufgerufen wird, oder '''glNewList''' aufgerufen wird wenn bereits eine Displayliste definiert wird.&lt;br /&gt;
'''&lt;br /&gt;
'''GL_INVALID_OPERATION''' wird generiert wenn '''glNewList''' oder '''glEndList''' zwischen einem [[glBegin]] und dem zugehörigen [[glEnd]] aufgerufen werden.&lt;br /&gt;
&lt;br /&gt;
'''GL_OUT_OF_MEMORY''' wird generiert wenn nicht genügend Speicher zur Verfügung steht um die Displayliste zu generieren. Wenn die GL-Version 1.1 (oder höher ist), dann werden keine Änderungen an einer (evtl.) bereits vorher definierten Displayliste getätigt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==  Zugehörige Wertrückgaben ==&lt;br /&gt;
&lt;br /&gt;
[[glIsList]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[glGet]] mit dem Token '''GL_LIST_INDEX'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[glGet]] mit dem Token '''GL_LIST_MODE'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
[[glCallList]], [[glCallLists]], [[glDeleteLists]], glGenLists&lt;br /&gt;
&lt;br /&gt;
Hintergrundwissen : [[Displaylisten]]&lt;/div&gt;</summary>
		<author><name>Johannes</name></author>	</entry>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=glClearColor&amp;diff=1083</id>
		<title>glClearColor</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=glClearColor&amp;diff=1083"/>
				<updated>2004-07-08T20:12:36Z</updated>
		
		<summary type="html">&lt;p&gt;Johannes: =Aufgabe=&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==glClearColor==&lt;br /&gt;
&lt;br /&gt;
===Aufgabe===&lt;br /&gt;
Legt die Farbe fest welche ein Farben/Colorbuffer nach seiner Leerung mit [[glClear]] enthält.&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
 &amp;lt;b&amp;gt;procedure&amp;lt;/b&amp;gt; glClearColor (red, green, blue, alpha: GLclampf); &amp;lt;b&amp;gt;stdcall&amp;lt;/b&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
===Hinweise===&lt;br /&gt;
Die aktuelle Leerfarbe erhält man, in dem man die Funktion [[glGet]] mit dem Parameter GL_COLOR_CLEAR_VALUE aufruft.&lt;br /&gt;
&lt;br /&gt;
Standart gemäß sind alle Farbwerte auf 0(-&amp;gt;Schwarz).&lt;br /&gt;
&lt;br /&gt;
Falls Farblisten verwendet werden, nutzt man die Funktion [[glClearIndex]] um die Leerfarbe für den Colorbuffer festzulegen.&lt;br /&gt;
&lt;br /&gt;
===Siehe auch===&lt;br /&gt;
[[glClear]],[[glClearIndex]],[[glColor]]&lt;/div&gt;</summary>
		<author><name>Johannes</name></author>	</entry>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=glBegin&amp;diff=242</id>
		<title>glBegin</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=glBegin&amp;diff=242"/>
				<updated>2004-07-07T10:16:23Z</updated>
		
		<summary type="html">&lt;p&gt;Johannes: =Beispiele=&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= glBegin, glEnd =&lt;br /&gt;
&lt;br /&gt;
== Name ==&lt;br /&gt;
&lt;br /&gt;
'''glBegin, glEnd''' - Umschliessen die [[Eckpunkt|Eckpunkte (Vertices)]] einer [[Primitive|Primitiven]], oder eine Gruppe gleicher [[Primitive|Primitiven]].&lt;br /&gt;
&lt;br /&gt;
== Delphi-Spezifikation ==&lt;br /&gt;
&lt;br /&gt;
procedure '''glBegin'''(''mode'' : GLEnum);&lt;br /&gt;
procedure '''glEnd''';&lt;br /&gt;
&lt;br /&gt;
== Parameter ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=0&amp;gt; &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td valign=&amp;quot;top&amp;quot; width=&amp;quot;80px&amp;quot;&amp;gt;&lt;br /&gt;
''mode''&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Bestimmt die [[Primitive]] bzw. Gruppe von [[Primitive|Primitiven]] die aus den von '''glBegin''' und '''glEnd''' umschlossenen [[Eckpunkt|Eckpunkten (Vertices)]] erstellt wird.&lt;br /&gt;
Erlaubt sindhier die folgenden zehn symbolischen Konstanten :&lt;br /&gt;
GL_POINTS, GL_LINES, GL_LINE_STRIP, GL_LINE_LOOP, GL_TRIANGLES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_QUADS, GL_QUAD_STRIP, and GL_POLYGON.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beschreibung == &lt;br /&gt;
&lt;br /&gt;
'''glBegin''' und '''glEnd''' umschliessen eine Liste von [[Eckpunkt|Eckpunkten (Vertices)]] die eine [[Primitive]] oder Gruppe von [[Primitive|Primitiven]] darstellt. '''glBegin''' erhält ein einzelnes Argument (''mode'') das angibt auf welche Art und Weise die [[Eckpunkt|Eckpunkte (Vertices)]] interpretiert werden.&lt;br /&gt;
Unter der Annahme ''n'' sei ein Integerwert der bei Eins beginnt und ''N'' als Integerwert der die Gesamtanzahl der übergebenen Eckpunkte angibt, ergeben sich folgende Interpretationen :&lt;br /&gt;
&lt;br /&gt;
'''GL_POINTS'''&lt;br /&gt;
&lt;br /&gt;
Behandelt jeden Eckpunkt als einzelnen Punkt. Eckpunkt ''n'' definiert Punkt ''n'', und ''N'' Punkte werden gerendert.&lt;br /&gt;
&lt;br /&gt;
'''GL_LINES'''&lt;br /&gt;
&lt;br /&gt;
Behandelt jedes Eckpunkt-Paar als unabhängigen Linienabschnitt. Eckpunkte 2*''n''-1 und 2*''n'' beschreiben Linie n. N/2 Linien werden gerendert.&lt;br /&gt;
&lt;br /&gt;
'''GL_LINE_STRIP'''&lt;br /&gt;
&lt;br /&gt;
Rendert eine Gruppe von miteinander verbundenen Liniensegmenten, beginnend beim ersten Eckpunkt bis zum letzten. Eckpunkte ''n'' und ''n+1'' beschreiben dabei Linie ''n''. ''N-1'' Linien werden gerendert.&lt;br /&gt;
&lt;br /&gt;
'''GL_LINE_LOOP'''&lt;br /&gt;
&lt;br /&gt;
Rendert eine miteinander verbundene Gruppe von Linienabschnitten, beginnend beim ersten Eckpunkt und endend beim letzten, und dann wieder abschliessend zurück zum ersten. Eckpunkte ''n'' und ''n+1'' definieren Linie ''n''. Die letzte Linie wird jedich durch die Eckpunkte ''N'' und 1 definiert. ''N'' Linien werden gerendert.&lt;br /&gt;
&lt;br /&gt;
'''GL_TRIANGLES'''&lt;br /&gt;
&lt;br /&gt;
Behandelt jedes Eckpunkt-Trio als unabhängiges Dreieck. Eckpunkte 3*''n''-2, 3*''n''-1 und 3*''n'' beschreiben Dreieck ''n''. ''N''/3 Dreiecke werden gerendert.&lt;br /&gt;
&lt;br /&gt;
'''GL_TRIANGLE_STRIP'''&lt;br /&gt;
&lt;br /&gt;
Rendert eine verbundene Gruppe von Dreiecken. Ein Dreieck wird für jeden Eckpunkt der nach den beiden ersten Eckpunkten definiert wird gerendert. Für ein ungerades ''n'' definieren die Eckpunkte ''n'', ''n''+1 und ''n''+2 Dreieck ''n'', für gerade ''n''s definieren die Eckpunkte ''n''+1, ''n'' und ''n''+2 ein Dreieck. ''N''-2 Dreiecke werden gerendert.&lt;br /&gt;
&lt;br /&gt;
'''GL_TRIANGLE_FAN'''&lt;br /&gt;
&lt;br /&gt;
Rendert eine verbundene Gruppe von Dreiecken. Ein Dreieck wird für jeden Eckpunkt gerendert der nach den ersten beiden definiert wird. Eckpunkte 1, ''n''+1 und ''n''+2 definieren Dreieck ''n''. ''N''-2 Dreiecke werden gerendert.&lt;br /&gt;
&lt;br /&gt;
'''GL_QUADS'''&lt;br /&gt;
&lt;br /&gt;
Behandelt jeweils vier Eckpunkte als unabhängiges Viereck. Eckpunkte 4*''n''-3, 4*''n''-2, 4*''n''-1 und 4*''n'' beschreiben Viereck ''n''. ''N''/4 Vierecke werden gerendert.&lt;br /&gt;
&lt;br /&gt;
'''GL_QUAD_STRIP'''&lt;br /&gt;
&lt;br /&gt;
Renderd eine verbundene Gruppe von Vierecken. Ein Viereck wird wird für jedes nach den ersten beiden Eckpunkten übergebene Eckpunktepaar gerendert. Eckpunkte 2*''n''-1, 2*''n'', 2*''n''+2 und 2*''n''+1 beschreiben Viereck ''n''. ''N''/2-1 Vierecke werden gerendert. Es gilt allerdings zu beachten, das die Reihenfolge der Eckpunkte die genutzt werden um Vierecke aus einem Streifen (=Strip, evtl. unangemessene Übersetzung - --[[Benutzer:Sascha Willems|Sascha Willems]] 12:23, 29. Jun 2004 (CEST)) zu generieren unterschiedlich ggü. der unabhängigen Konstruktion sind.&lt;br /&gt;
&lt;br /&gt;
'''GL_POLYGON'''&lt;br /&gt;
&lt;br /&gt;
Rendert eine einzelnes, [[konvex|konvexes]] Polygon (=Vieleck). Eckpunkte 1 bis ''N'' definieren dieses Polygon.&lt;br /&gt;
&lt;br /&gt;
Nur eine Untergruppe von GL Befehlen kann zwischen '''glBegin''' und '''glEnd''' genutzt werden. Die Befehle sind [[glVertex]], [[glColor]], [[glIndex]], [[glNormal]], [[glTexCoord]], [[glEvalCoord]], [[glEvalPoint]], [[glArrayElement]], [[glMaterial]], und [[glEdgeFlag]]. Ausserdem ist es erlaubt  [[glCallList]] oder [[glCallLists]] zu nutzen um [[Displaylisten]] auszuführen, die nur oben erwähnte Kommandos enthalten. Sollte ein nicht erwähnter GL Befehl zwischen '''glBegin''' und '''glEnd''' ausgeführt werden, dann wird das Fehlerflag gesetzt und der Befehl ignoriert.&lt;br /&gt;
&lt;br /&gt;
Unabhängig des für ''mode'' übergebenen Wertes gibt es keine Begrenzung für die Anzahl der übergebenen Eckpunkte die zwischen '''glBegin''' und '''glEnd''' definiert werden. Linien, Dreiecke, Vierecke und Polygone die nicht genügenden beschrieben wurden werden nicht gerendert.&lt;br /&gt;
Ungenügende Beschreibung bedeutet entweder dass zu wenige Eckpunkte angegeben wurden um eine einzelne [[Primitive]] zu beschreiben, oder ein inkorrektes Vielfaches and Eckpunkten übergeben wurde. Nicht komplette Primitiven werden ignoriert; der Rest wird gerendet.&lt;br /&gt;
&lt;br /&gt;
Das Minimum an zu spezifizierenden Eckpunkten für jede Primitive ist wie folgt :&lt;br /&gt;
1 für einen Punkt, 2 für eine Linie, 3 für ein Dreieck, 4 für ein Viereck (Sture  Übersetzungen hören sich manchmal leider recht sinnentleert an --[[Benutzer:Sascha Willems|Sascha Willems]] 12:33, 29. Jun 2004 (CEST)) und 3 für ein Polygon. Modi die ein festgelegtes Vielfaches an Eckpunkten brauchen sind '''GL_LINES''' (2), '''GL_TRIANGLES''' (3), '''GL_QUADS''' (4), und '''GL_QUAD_STRIP''' (2).&lt;br /&gt;
&lt;br /&gt;
== Fehlermeldungen ==&lt;br /&gt;
&lt;br /&gt;
GL_INVALID_ENUM wird ausgelöst wenn ''mode'' einen ungültigen Wert besitzt.&lt;br /&gt;
&lt;br /&gt;
GL_INVALID_OPERATION wird ausgelöst, wenn zwischen '''glBegin''' und dem zugehörigen '''glEnd''' ein weiteres '''glBegin''' aufgerufen wird.&lt;br /&gt;
&lt;br /&gt;
GL_INVALID_OPERATION wird ausgelöst, wenn '''glEnd''' ohne ein vorhergehendes '''glBegin''' aufgerufen wird.&lt;br /&gt;
&lt;br /&gt;
GL_INVALID_OPERATION wird aufgerufen, wenn ein anderer Befehl als [[glVertex]], [[glColor]], [[glIndex]], [[glNormal]], [[glTexCoord]], [[glEvalCoord]], [[glEvalPoint]], [[glArrayElement]], [[glMaterial]], [[glEdgeFlag]], [[glCallList]], oder [[glCallLists]] zwischen '''glBegin''' und dem zugehörigen '''glEnd'' aufgerufen wird.&lt;br /&gt;
&lt;br /&gt;
Ein Aufruf von [[glEnableClientState]], [[glDisableClientState]], [[glEdgeFlagPointer]], [[glTexCoordPointer]], [[glColorPointer]], [[glIndexPointer]], [[glNormalPointer]], [[glVertexPointer]], [[glInterleavedArrays]], oder [[glPixelStore]] nach einem Aufruf von '''glBegin'' und dem zugehörigen '''glEnd'' ist nicht erlaubt, aber je nach Implementation wird möglicherweise kein Fehler ausgelöst.&lt;br /&gt;
&lt;br /&gt;
==Beispiele==&lt;br /&gt;
&lt;br /&gt;
glBegin(GL_TRIANGLES);&lt;br /&gt;
 glVertex3f(1,1,0);&lt;br /&gt;
 glVertex3f(1,1,0);&lt;br /&gt;
 glVertex3f(1,1,0);&lt;br /&gt;
glEnd;&lt;br /&gt;
&lt;br /&gt;
Zwischen glBegin und glEnd können natürlich auch nicht OpenGL Befehle stehen was man dazu nutzen kann komplexere Gebilde direkt mit einer Schleife zeichnen zu lassen:&lt;br /&gt;
&lt;br /&gt;
glBegin(GL_LINE_STRIP);&lt;br /&gt;
 for i:=0 to 50 do&lt;br /&gt;
  begin&lt;br /&gt;
   glVertex3f(0,i,sin(i/50)*20);&lt;br /&gt;
  end;&lt;br /&gt;
glEnd;&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
[[glArrayElement]], [[glCallList]], [[glCallLists]], [[glColor]], [[glEdgeFlag]], [[glEvalCoord]], [[glEvalPoint]], [[glIndex]], [[glMaterial]], [[glNormal]], [[glTexCoord]], [[glVertex]]&lt;/div&gt;</summary>
		<author><name>Johannes</name></author>	</entry>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=glBegin&amp;diff=177</id>
		<title>glBegin</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=glBegin&amp;diff=177"/>
				<updated>2004-07-06T14:41:19Z</updated>
		
		<summary type="html">&lt;p&gt;Johannes: =Beispiele=&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= glBegin, glEnd =&lt;br /&gt;
&lt;br /&gt;
== Name ==&lt;br /&gt;
&lt;br /&gt;
'''glBegin, glEnd''' - Umschliessen die [[Eckpunkt|Eckpunkte (Vertices)]] einer [[Primitive|Primitiven]], oder eine Gruppe gleicher [[Primitive|Primitiven]].&lt;br /&gt;
&lt;br /&gt;
== Delphi-Spezifikation ==&lt;br /&gt;
&lt;br /&gt;
procedure '''glBegin'''(''mode'' : GLEnum);&lt;br /&gt;
procedure '''glEnd''';&lt;br /&gt;
&lt;br /&gt;
== Parameter ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=0&amp;gt; &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td valign=&amp;quot;top&amp;quot; width=&amp;quot;80px&amp;quot;&amp;gt;&lt;br /&gt;
''mode''&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Bestimmt die [[Primitive]] bzw. Gruppe von [[Primitive|Primitiven]] die aus den von '''glBegin''' und '''glEnd''' umschlossenen [[Eckpunkt|Eckpunkten (Vertices)]] erstellt wird.&lt;br /&gt;
Erlaubt sindhier die folgenden zehn symbolischen Konstanten :&lt;br /&gt;
GL_POINTS, GL_LINES, GL_LINE_STRIP, GL_LINE_LOOP, GL_TRIANGLES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_QUADS, GL_QUAD_STRIP, and GL_POLYGON.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beschreibung == &lt;br /&gt;
&lt;br /&gt;
'''glBegin''' und '''glEnd''' umschliessen eine Liste von [[Eckpunkt|Eckpunkten (Vertices)]] die eine [[Primitive]] oder Gruppe von [[Primitive|Primitiven]] darstellt. '''glBegin''' erhält ein einzelnes Argument (''mode'') das angibt auf welche Art und Weise die [[Eckpunkt|Eckpunkte (Vertices)]] interpretiert werden.&lt;br /&gt;
Unter der Annahme ''n'' sei ein Integerwert der bei Eins beginnt und ''N'' als Integerwert der die Gesamtanzahl der übergebenen Eckpunkte angibt, ergeben sich folgende Interpretationen :&lt;br /&gt;
&lt;br /&gt;
'''GL_POINTS'''&lt;br /&gt;
&lt;br /&gt;
Behandelt jeden Eckpunkt als einzelnen Punkt. Eckpunkt ''n'' definiert Punkt ''n'', und ''N'' Punkte werden gerendert.&lt;br /&gt;
&lt;br /&gt;
'''GL_LINES'''&lt;br /&gt;
&lt;br /&gt;
Behandelt jedes Eckpunkt-Paar als unabhängigen Linienabschnitt. Eckpunkte 2*''n''-1 und 2*''n'' beschreiben Linie n. N/2 Linien werden gerendert.&lt;br /&gt;
&lt;br /&gt;
'''GL_LINE_STRIP'''&lt;br /&gt;
&lt;br /&gt;
Rendert eine Gruppe von miteinander verbundenen Liniensegmenten, beginnend beim ersten Eckpunkt bis zum letzten. Eckpunkte ''n'' und ''n+1'' beschreiben dabei Linie ''n''. ''N-1'' Linien werden gerendert.&lt;br /&gt;
&lt;br /&gt;
'''GL_LINE_LOOP'''&lt;br /&gt;
&lt;br /&gt;
Rendert eine miteinander verbundene Gruppe von Linienabschnitten, beginnend beim ersten Eckpunkt und endend beim letzten, und dann wieder abschliessend zurück zum ersten. Eckpunkte ''n'' und ''n+1'' definieren Linie ''n''. Die letzte Linie wird jedich durch die Eckpunkte ''N'' und 1 definiert. ''N'' Linien werden gerendert.&lt;br /&gt;
&lt;br /&gt;
'''GL_TRIANGLES'''&lt;br /&gt;
&lt;br /&gt;
Behandelt jedes Eckpunkt-Trio als unabhängiges Dreieck. Eckpunkte 3*''n''-2, 3*''n''-1 und 3*''n'' beschreiben Dreieck ''n''. ''N''/3 Dreiecke werden gerendert.&lt;br /&gt;
&lt;br /&gt;
'''GL_TRIANGLE_STRIP'''&lt;br /&gt;
&lt;br /&gt;
Rendert eine verbundene Gruppe von Dreiecken. Ein Dreieck wird für jeden Eckpunkt der nach den beiden ersten Eckpunkten definiert wird gerendert. Für ein ungerades ''n'' definieren die Eckpunkte ''n'', ''n''+1 und ''n''+2 Dreieck ''n'', für gerade ''n''s definieren die Eckpunkte ''n''+1, ''n'' und ''n''+2 ein Dreieck. ''N''-2 Dreiecke werden gerendert.&lt;br /&gt;
&lt;br /&gt;
'''GL_TRIANGLE_FAN'''&lt;br /&gt;
&lt;br /&gt;
Rendert eine verbundene Gruppe von Dreiecken. Ein Dreieck wird für jeden Eckpunkt gerendert der nach den ersten beiden definiert wird. Eckpunkte 1, ''n''+1 und ''n''+2 definieren Dreieck ''n''. ''N''-2 Dreiecke werden gerendert.&lt;br /&gt;
&lt;br /&gt;
'''GL_QUADS'''&lt;br /&gt;
&lt;br /&gt;
Behandelt jeweils vier Eckpunkte als unabhängiges Viereck. Eckpunkte 4*''n''-3, 4*''n''-2, 4*''n''-1 und 4*''n'' beschreiben Viereck ''n''. ''N''/4 Vierecke werden gerendert.&lt;br /&gt;
&lt;br /&gt;
'''GL_QUAD_STRIP'''&lt;br /&gt;
&lt;br /&gt;
Renderd eine verbundene Gruppe von Vierecken. Ein Viereck wird wird für jedes nach den ersten beiden Eckpunkten übergebene Eckpunktepaar gerendert. Eckpunkte 2*''n''-1, 2*''n'', 2*''n''+2 und 2*''n''+1 beschreiben Viereck ''n''. ''N''/2-1 Vierecke werden gerendert. Es gilt allerdings zu beachten, das die Reihenfolge der Eckpunkte die genutzt werden um Vierecke aus einem Streifen (=Strip, evtl. unangemessene Übersetzung - --[[Benutzer:Sascha Willems|Sascha Willems]] 12:23, 29. Jun 2004 (CEST)) zu generieren unterschiedlich ggü. der unabhängigen Konstruktion sind.&lt;br /&gt;
&lt;br /&gt;
'''GL_POLYGON'''&lt;br /&gt;
&lt;br /&gt;
Rendert eine einzelnes, [[konvex|konvexes]] Polygon (=Vieleck). Eckpunkte 1 bis ''N'' definieren dieses Polygon.&lt;br /&gt;
&lt;br /&gt;
Nur eine Untergruppe von GL Befehlen kann zwischen '''glBegin''' und '''glEnd''' genutzt werden. Die Befehle sind [[glVertex]], [[glColor]], [[glIndex]], [[glNormal]], [[glTexCoord]], [[glEvalCoord]], [[glEvalPoint]], [[glArrayElement]], [[glMaterial]], und [[glEdgeFlag]]. Ausserdem ist es erlaubt  [[glCallList]] oder [[glCallLists]] zu nutzen um [[Displaylisten]] auszuführen, die nur oben erwähnte Kommandos enthalten. Sollte ein nicht erwähnter GL Befehl zwischen '''glBegin''' und '''glEnd''' ausgeführt werden, dann wird das Fehlerflag gesetzt und der Befehl ignoriert.&lt;br /&gt;
&lt;br /&gt;
Unabhängig des für ''mode'' übergebenen Wertes gibt es keine Begrenzung für die Anzahl der übergebenen Eckpunkte die zwischen '''glBegin''' und '''glEnd''' definiert werden. Linien, Dreiecke, Vierecke und Polygone die nicht genügenden beschrieben wurden werden nicht gerendert.&lt;br /&gt;
Ungenügende Beschreibung bedeutet entweder dass zu wenige Eckpunkte angegeben wurden um eine einzelne [[Primitive]] zu beschreiben, oder ein inkorrektes Vielfaches and Eckpunkten übergeben wurde. Nicht komplette Primitiven werden ignoriert; der Rest wird gerendet.&lt;br /&gt;
&lt;br /&gt;
Das Minimum an zu spezifizierenden Eckpunkten für jede Primitive ist wie folgt :&lt;br /&gt;
1 für einen Punkt, 2 für eine Linie, 3 für ein Dreieck, 4 für ein Viereck (Sture  Übersetzungen hören sich manchmal leider recht sinnentleert an --[[Benutzer:Sascha Willems|Sascha Willems]] 12:33, 29. Jun 2004 (CEST)) und 3 für ein Polygon. Modi die ein festgelegtes Vielfaches an Eckpunkten brauchen sind '''GL_LINES''' (2), '''GL_TRIANGLES''' (3), '''GL_QUADS''' (4), und '''GL_QUAD_STRIP''' (2).&lt;br /&gt;
&lt;br /&gt;
== Fehlermeldungen ==&lt;br /&gt;
&lt;br /&gt;
GL_INVALID_ENUM wird ausgelöst wenn ''mode'' einen ungültigen Wert besitzt.&lt;br /&gt;
&lt;br /&gt;
GL_INVALID_OPERATION wird ausgelöst, wenn zwischen '''glBegin''' und dem zugehörigen '''glEnd''' ein weiteres '''glBegin''' aufgerufen wird.&lt;br /&gt;
&lt;br /&gt;
GL_INVALID_OPERATION wird ausgelöst, wenn '''glEnd''' ohne ein vorhergehendes '''glBegin''' aufgerufen wird.&lt;br /&gt;
&lt;br /&gt;
GL_INVALID_OPERATION wird aufgerufen, wenn ein anderer Befehl als [[glVertex]], [[glColor]], [[glIndex]], [[glNormal]], [[glTexCoord]], [[glEvalCoord]], [[glEvalPoint]], [[glArrayElement]], [[glMaterial]], [[glEdgeFlag]], [[glCallList]], oder [[glCallLists]] zwischen '''glBegin''' und dem zugehörigen '''glEnd'' aufgerufen wird.&lt;br /&gt;
&lt;br /&gt;
Ein Aufruf von [[glEnableClientState]], [[glDisableClientState]], [[glEdgeFlagPointer]], [[glTexCoordPointer]], [[glColorPointer]], [[glIndexPointer]], [[glNormalPointer]], [[glVertexPointer]], [[glInterleavedArrays]], oder [[glPixelStore]] nach einem Aufruf von '''glBegin'' und dem zugehörigen '''glEnd'' ist nicht erlaubt, aber je nach Implementation wird möglicherweise kein Fehler ausgelöst.&lt;br /&gt;
&lt;br /&gt;
==Beispiele==&lt;br /&gt;
&lt;br /&gt;
glBegin(GL_TRIANGLES);&lt;br /&gt;
 glVertex3f(1,1,0);&lt;br /&gt;
 glVertex3f(1,1,0);&lt;br /&gt;
 glVertex3f(1,1,0);&lt;br /&gt;
glEnd;&lt;br /&gt;
&lt;br /&gt;
Zwischen glBegin und glEnd können natürlich auch nicht OpenGL Befehle stehen was man dazu nutzen kann komplexere Gebilde direkt mit einer Schleife zeichnen zu lassen:&lt;br /&gt;
&lt;br /&gt;
glBegin(GL_LINE_STRIP);&lt;br /&gt;
 for i:=0 to 50 do&lt;br /&gt;
  begin&lt;br /&gt;
   glVertex3f(0,0,sin(i/50)*20);&lt;br /&gt;
  end;&lt;br /&gt;
glEnd;&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
[[glArrayElement]], [[glCallList]], [[glCallLists]], [[glColor]], [[glEdgeFlag]], [[glEvalCoord]], [[glEvalPoint]], [[glIndex]], [[glMaterial]], [[glNormal]], [[glTexCoord]], [[glVertex]]&lt;/div&gt;</summary>
		<author><name>Johannes</name></author>	</entry>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=glBegin&amp;diff=161</id>
		<title>glBegin</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=glBegin&amp;diff=161"/>
				<updated>2004-07-06T14:39:28Z</updated>
		
		<summary type="html">&lt;p&gt;Johannes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= glBegin, glEnd =&lt;br /&gt;
&lt;br /&gt;
== Name ==&lt;br /&gt;
&lt;br /&gt;
'''glBegin, glEnd''' - Umschliessen die [[Eckpunkt|Eckpunkte (Vertices)]] einer [[Primitive|Primitiven]], oder eine Gruppe gleicher [[Primitive|Primitiven]].&lt;br /&gt;
&lt;br /&gt;
== Delphi-Spezifikation ==&lt;br /&gt;
&lt;br /&gt;
procedure '''glBegin'''(''mode'' : GLEnum);&lt;br /&gt;
procedure '''glEnd''';&lt;br /&gt;
&lt;br /&gt;
== Parameter ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=0&amp;gt; &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td valign=&amp;quot;top&amp;quot; width=&amp;quot;80px&amp;quot;&amp;gt;&lt;br /&gt;
''mode''&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Bestimmt die [[Primitive]] bzw. Gruppe von [[Primitive|Primitiven]] die aus den von '''glBegin''' und '''glEnd''' umschlossenen [[Eckpunkt|Eckpunkten (Vertices)]] erstellt wird.&lt;br /&gt;
Erlaubt sindhier die folgenden zehn symbolischen Konstanten :&lt;br /&gt;
GL_POINTS, GL_LINES, GL_LINE_STRIP, GL_LINE_LOOP, GL_TRIANGLES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_QUADS, GL_QUAD_STRIP, and GL_POLYGON.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beschreibung == &lt;br /&gt;
&lt;br /&gt;
'''glBegin''' und '''glEnd''' umschliessen eine Liste von [[Eckpunkt|Eckpunkten (Vertices)]] die eine [[Primitive]] oder Gruppe von [[Primitive|Primitiven]] darstellt. '''glBegin''' erhält ein einzelnes Argument (''mode'') das angibt auf welche Art und Weise die [[Eckpunkt|Eckpunkte (Vertices)]] interpretiert werden.&lt;br /&gt;
Unter der Annahme ''n'' sei ein Integerwert der bei Eins beginnt und ''N'' als Integerwert der die Gesamtanzahl der übergebenen Eckpunkte angibt, ergeben sich folgende Interpretationen :&lt;br /&gt;
&lt;br /&gt;
'''GL_POINTS'''&lt;br /&gt;
&lt;br /&gt;
Behandelt jeden Eckpunkt als einzelnen Punkt. Eckpunkt ''n'' definiert Punkt ''n'', und ''N'' Punkte werden gerendert.&lt;br /&gt;
&lt;br /&gt;
'''GL_LINES'''&lt;br /&gt;
&lt;br /&gt;
Behandelt jedes Eckpunkt-Paar als unabhängigen Linienabschnitt. Eckpunkte 2*''n''-1 und 2*''n'' beschreiben Linie n. N/2 Linien werden gerendert.&lt;br /&gt;
&lt;br /&gt;
'''GL_LINE_STRIP'''&lt;br /&gt;
&lt;br /&gt;
Rendert eine Gruppe von miteinander verbundenen Liniensegmenten, beginnend beim ersten Eckpunkt bis zum letzten. Eckpunkte ''n'' und ''n+1'' beschreiben dabei Linie ''n''. ''N-1'' Linien werden gerendert.&lt;br /&gt;
&lt;br /&gt;
'''GL_LINE_LOOP'''&lt;br /&gt;
&lt;br /&gt;
Rendert eine miteinander verbundene Gruppe von Linienabschnitten, beginnend beim ersten Eckpunkt und endend beim letzten, und dann wieder abschliessend zurück zum ersten. Eckpunkte ''n'' und ''n+1'' definieren Linie ''n''. Die letzte Linie wird jedich durch die Eckpunkte ''N'' und 1 definiert. ''N'' Linien werden gerendert.&lt;br /&gt;
&lt;br /&gt;
'''GL_TRIANGLES'''&lt;br /&gt;
&lt;br /&gt;
Behandelt jedes Eckpunkt-Trio als unabhängiges Dreieck. Eckpunkte 3*''n''-2, 3*''n''-1 und 3*''n'' beschreiben Dreieck ''n''. ''N''/3 Dreiecke werden gerendert.&lt;br /&gt;
&lt;br /&gt;
'''GL_TRIANGLE_STRIP'''&lt;br /&gt;
&lt;br /&gt;
Rendert eine verbundene Gruppe von Dreiecken. Ein Dreieck wird für jeden Eckpunkt der nach den beiden ersten Eckpunkten definiert wird gerendert. Für ein ungerades ''n'' definieren die Eckpunkte ''n'', ''n''+1 und ''n''+2 Dreieck ''n'', für gerade ''n''s definieren die Eckpunkte ''n''+1, ''n'' und ''n''+2 ein Dreieck. ''N''-2 Dreiecke werden gerendert.&lt;br /&gt;
&lt;br /&gt;
'''GL_TRIANGLE_FAN'''&lt;br /&gt;
&lt;br /&gt;
Rendert eine verbundene Gruppe von Dreiecken. Ein Dreieck wird für jeden Eckpunkt gerendert der nach den ersten beiden definiert wird. Eckpunkte 1, ''n''+1 und ''n''+2 definieren Dreieck ''n''. ''N''-2 Dreiecke werden gerendert.&lt;br /&gt;
&lt;br /&gt;
'''GL_QUADS'''&lt;br /&gt;
&lt;br /&gt;
Behandelt jeweils vier Eckpunkte als unabhängiges Viereck. Eckpunkte 4*''n''-3, 4*''n''-2, 4*''n''-1 und 4*''n'' beschreiben Viereck ''n''. ''N''/4 Vierecke werden gerendert.&lt;br /&gt;
&lt;br /&gt;
'''GL_QUAD_STRIP'''&lt;br /&gt;
&lt;br /&gt;
Renderd eine verbundene Gruppe von Vierecken. Ein Viereck wird wird für jedes nach den ersten beiden Eckpunkten übergebene Eckpunktepaar gerendert. Eckpunkte 2*''n''-1, 2*''n'', 2*''n''+2 und 2*''n''+1 beschreiben Viereck ''n''. ''N''/2-1 Vierecke werden gerendert. Es gilt allerdings zu beachten, das die Reihenfolge der Eckpunkte die genutzt werden um Vierecke aus einem Streifen (=Strip, evtl. unangemessene Übersetzung - --[[Benutzer:Sascha Willems|Sascha Willems]] 12:23, 29. Jun 2004 (CEST)) zu generieren unterschiedlich ggü. der unabhängigen Konstruktion sind.&lt;br /&gt;
&lt;br /&gt;
'''GL_POLYGON'''&lt;br /&gt;
&lt;br /&gt;
Rendert eine einzelnes, [[konvex|konvexes]] Polygon (=Vieleck). Eckpunkte 1 bis ''N'' definieren dieses Polygon.&lt;br /&gt;
&lt;br /&gt;
Nur eine Untergruppe von GL Befehlen kann zwischen '''glBegin''' und '''glEnd''' genutzt werden. Die Befehle sind [[glVertex]], [[glColor]], [[glIndex]], [[glNormal]], [[glTexCoord]], [[glEvalCoord]], [[glEvalPoint]], [[glArrayElement]], [[glMaterial]], und [[glEdgeFlag]]. Ausserdem ist es erlaubt  [[glCallList]] oder [[glCallLists]] zu nutzen um [[Displaylisten]] auszuführen, die nur oben erwähnte Kommandos enthalten. Sollte ein nicht erwähnter GL Befehl zwischen '''glBegin''' und '''glEnd''' ausgeführt werden, dann wird das Fehlerflag gesetzt und der Befehl ignoriert.&lt;br /&gt;
&lt;br /&gt;
Unabhängig des für ''mode'' übergebenen Wertes gibt es keine Begrenzung für die Anzahl der übergebenen Eckpunkte die zwischen '''glBegin''' und '''glEnd''' definiert werden. Linien, Dreiecke, Vierecke und Polygone die nicht genügenden beschrieben wurden werden nicht gerendert.&lt;br /&gt;
Ungenügende Beschreibung bedeutet entweder dass zu wenige Eckpunkte angegeben wurden um eine einzelne [[Primitive]] zu beschreiben, oder ein inkorrektes Vielfaches and Eckpunkten übergeben wurde. Nicht komplette Primitiven werden ignoriert; der Rest wird gerendet.&lt;br /&gt;
&lt;br /&gt;
Das Minimum an zu spezifizierenden Eckpunkten für jede Primitive ist wie folgt :&lt;br /&gt;
1 für einen Punkt, 2 für eine Linie, 3 für ein Dreieck, 4 für ein Viereck (Sture  Übersetzungen hören sich manchmal leider recht sinnentleert an --[[Benutzer:Sascha Willems|Sascha Willems]] 12:33, 29. Jun 2004 (CEST)) und 3 für ein Polygon. Modi die ein festgelegtes Vielfaches an Eckpunkten brauchen sind '''GL_LINES''' (2), '''GL_TRIANGLES''' (3), '''GL_QUADS''' (4), und '''GL_QUAD_STRIP''' (2).&lt;br /&gt;
&lt;br /&gt;
== Fehlermeldungen ==&lt;br /&gt;
&lt;br /&gt;
GL_INVALID_ENUM wird ausgelöst wenn ''mode'' einen ungültigen Wert besitzt.&lt;br /&gt;
&lt;br /&gt;
GL_INVALID_OPERATION wird ausgelöst, wenn zwischen '''glBegin''' und dem zugehörigen '''glEnd''' ein weiteres '''glBegin''' aufgerufen wird.&lt;br /&gt;
&lt;br /&gt;
GL_INVALID_OPERATION wird ausgelöst, wenn '''glEnd''' ohne ein vorhergehendes '''glBegin''' aufgerufen wird.&lt;br /&gt;
&lt;br /&gt;
GL_INVALID_OPERATION wird aufgerufen, wenn ein anderer Befehl als [[glVertex]], [[glColor]], [[glIndex]], [[glNormal]], [[glTexCoord]], [[glEvalCoord]], [[glEvalPoint]], [[glArrayElement]], [[glMaterial]], [[glEdgeFlag]], [[glCallList]], oder [[glCallLists]] zwischen '''glBegin''' und dem zugehörigen '''glEnd'' aufgerufen wird.&lt;br /&gt;
&lt;br /&gt;
Ein Aufruf von [[glEnableClientState]], [[glDisableClientState]], [[glEdgeFlagPointer]], [[glTexCoordPointer]], [[glColorPointer]], [[glIndexPointer]], [[glNormalPointer]], [[glVertexPointer]], [[glInterleavedArrays]], oder [[glPixelStore]] nach einem Aufruf von '''glBegin'' und dem zugehörigen '''glEnd'' ist nicht erlaubt, aber je nach Implementation wird möglicherweise kein Fehler ausgelöst.&lt;br /&gt;
&lt;br /&gt;
==Beispiele==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
glBegin(GL_TRIANGLES);&lt;br /&gt;
 glVertex3f(1,1,0);&lt;br /&gt;
 glVertex3f(1,1,0);&lt;br /&gt;
 glVertex3f(1,1,0);&lt;br /&gt;
glEnd;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Zwischen glBegin und glEnd können natürlich auch nicht OpenGL befehle stehen was man dazu nutzen kann komplexere Gebilde direkt mit einer Schleife zeichnen zu lassen:&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
glBegin(GL_LINE_STRIP);&lt;br /&gt;
 for i:=0 to 50 do&lt;br /&gt;
  begin&lt;br /&gt;
   glVertex3f(0,0,sin(i/50)*20);&lt;br /&gt;
  end;&lt;br /&gt;
glEnd;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
[[glArrayElement]], [[glCallList]], [[glCallLists]], [[glColor]], [[glEdgeFlag]], [[glEvalCoord]], [[glEvalPoint]], [[glIndex]], [[glMaterial]], [[glNormal]], [[glTexCoord]], [[glVertex]]&lt;/div&gt;</summary>
		<author><name>Johannes</name></author>	</entry>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=glGenLists&amp;diff=2023</id>
		<title>glGenLists</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=glGenLists&amp;diff=2023"/>
				<updated>2004-07-05T13:11:13Z</updated>
		
		<summary type="html">&lt;p&gt;Johannes: =Fehlermeldungen=&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= glGenLists =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Name ==&lt;br /&gt;
&lt;br /&gt;
'''glGenLists''' - Erstellt einen kontinuierlichen Satz leerer [[Displayliste|Displaylisten]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Delphi-Spezifikation ==&lt;br /&gt;
&lt;br /&gt;
function TGLUInt '''glGenLists'''(''range'' : TGLSizei) : TGLUInt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameter ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;''range''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gibt die Anzahl der (aufeinander folgenden) zu erstellenden Displaylisten an.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
&lt;br /&gt;
'''glGenLists''' erwartet als Argument eine Reichweite und gibt den Integerwert ''n'' zurück, der eine Liste aufeinander folgender Werte für leere Displaylisten anführt (n = erste Liste, n+1 = zweite Liste, etc.). Wenn ''range'' gleich Null ist, oder nicht mehr genug freie Namen für die via ''range'' angegebene Listenreichweite vorhanden sind, oder ein Fehler generiert wird, werden keine leeren Displaylisten erstellt und es wird 0 zurückgegeben.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Fehlermeldungen ==&lt;br /&gt;
&lt;br /&gt;
GL_INVALID_VALUE wird generiert wenn ''range'' negativ ist.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GL_INVALID_OPERATION wird generiert wenn '''glGenLists''' zwischen [[glBegin]] und dem passenden [[glEnd]] aufgerufen wird.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Zugehörige Wertrückgaben ==&lt;br /&gt;
&lt;br /&gt;
[[glIsList]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
[[glCallList]], [[glCallLists]], [[glDeleteLists]], [[glNewList]]&lt;/div&gt;</summary>
		<author><name>Johannes</name></author>	</entry>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=Hintergrundwissen&amp;diff=104</id>
		<title>Hintergrundwissen</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=Hintergrundwissen&amp;diff=104"/>
				<updated>2004-07-05T06:26:26Z</updated>
		
		<summary type="html">&lt;p&gt;Johannes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Was hier hinein gehört ==&lt;br /&gt;
&lt;br /&gt;
In diese Kategorie kommt alles rein was zum Verständnis im Bereich OpenGL/3D-Programmierung nützlich sein könnte. Also u.a. welche Puffer es unter OpenGL gibt, und für was die gut sind.&lt;br /&gt;
&lt;br /&gt;
Auch hier sollte man möglichst aufspalten und dann eine Überschrift setzen. So macht man das Auffinden bestimmter Dinge leichter und auch die Verlinkung darauf ist oft etwas das man in anderen Dokumenten benötigt.&lt;br /&gt;
&lt;br /&gt;
P.S. : Ob hier Deutsche Begriffe oder Anglizismen genutzt werden ist jedem selbst überlassen. Ich persönlich bevorzuge ersteres.&lt;br /&gt;
&lt;br /&gt;
== Übersicht ==&lt;br /&gt;
  &lt;br /&gt;
  '''Bildentstehung'''&lt;br /&gt;
  [[Fragment]]e&lt;br /&gt;
  [[Pixel]]&lt;br /&gt;
&lt;br /&gt;
  '''Puffer'''&lt;br /&gt;
  [[Akkumulationspuffer]] (Accumulationbuffer)&lt;br /&gt;
  [[Doppelpufferung]] (Doublebuffering)&lt;br /&gt;
  [[Farbpuffer]] (Colorbuffer)&lt;br /&gt;
  [[Framebuffer]]&lt;br /&gt;
  [[Stempelpuffer]] (Stencilbuffer)&lt;br /&gt;
  [[Tiefenpuffer]] (Depthbuffer)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  [[Primitive]]&lt;br /&gt;
&lt;br /&gt;
  '''Effekte'''&lt;br /&gt;
  [[ZFighting]]&lt;br /&gt;
&lt;br /&gt;
  '''Bücher zu diesem Thema'''&lt;/div&gt;</summary>
		<author><name>Johannes</name></author>	</entry>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=ZFighting&amp;diff=82</id>
		<title>ZFighting</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=ZFighting&amp;diff=82"/>
				<updated>2004-07-04T14:11:38Z</updated>
		
		<summary type="html">&lt;p&gt;Johannes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ZFighting ist ein Effekt, der auftritt wenn der Tiefenpuffer nicht hoch genug Auflösst, und/oder wenn zwei Polygone genau auf der gleichen Stelle sind.&lt;br /&gt;
Den Effekt erkennt man daran, das das Bild bei Bewegung der Kamaera flimmert und man mal das eine mal das andere Polygon sieht.&lt;br /&gt;
&lt;br /&gt;
Das kann durch verschieden Techniken verhindert werden:&lt;br /&gt;
1. Größe des Tiefenbuffers hochsetzen (zb. 32 bit statt 16 bit)&lt;br /&gt;
2. Die Werte der near/far clipping plane verändern (siehe auch den link am ende des Artikels)&lt;br /&gt;
3. Keine zwei Polygone an der selben Stelle zeichenen lassen..&lt;br /&gt;
4. &amp;quot;Polygon Offset&amp;quot; verwenden ( [[glPolygonOffset]] )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
weitere Infos im Web:&lt;br /&gt;
&lt;br /&gt;
[http://www.sjbaker.org/steve/omniv/love_your_z_buffer.html Ein interresanter Artikel über Z-Buffer]&lt;/div&gt;</summary>
		<author><name>Johannes</name></author>	</entry>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=ZFighting&amp;diff=66</id>
		<title>ZFighting</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=ZFighting&amp;diff=66"/>
				<updated>2004-07-04T14:10:44Z</updated>
		
		<summary type="html">&lt;p&gt;Johannes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ZFighting ist ein Effekt, der auftritt wenn der Tiefenpuffer nicht hoch genug Auflösst, und/oder wenn zwei Polygone genau auf der gleichen Stelle sind.&lt;br /&gt;
Den Effekt erkennt man daran, das das Bild bei Bewegung der Kamaera flimmert und man mal das eine mal das andere Polygon sieht.&lt;br /&gt;
&lt;br /&gt;
Das kann durch verschieden Techniken verhindert werden:&lt;br /&gt;
1. Größe des Tiefenbuffers hochsetzen (zb. 32 bit statt 16 bit)&lt;br /&gt;
2. Die Werte der near/far clipping plane verändern (siehe auch den link am ende des Artikels)&lt;br /&gt;
3. Keine zwei Polygone an der selben Stelle zeichenen lassen..&lt;br /&gt;
4. &amp;quot;Polygon Offset&amp;quot; verwenden ( glPolygonOffset )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
weitere Infos im Web:&lt;br /&gt;
&lt;br /&gt;
[http://www.sjbaker.org/steve/omniv/love_your_z_buffer.html Ein interresanter Artikel über Z-Buffer]&lt;/div&gt;</summary>
		<author><name>Johannes</name></author>	</entry>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=Benutzer:Johannes&amp;diff=12019</id>
		<title>Benutzer:Johannes</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=Benutzer:Johannes&amp;diff=12019"/>
				<updated>2004-07-02T21:09:52Z</updated>
		
		<summary type="html">&lt;p&gt;Johannes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;also ein bisschen was über mich...&lt;br /&gt;
Ich programmier schon ne Zeit lang mit Delphi+OpenGL hab aber bis jetzt nix besonderst herrausragendes gemacht....&lt;br /&gt;
Mein einziges einigermassen gescheites Projekt war: [http://binf.sourceforge.net/ Beyond Infinity] wie ihr sehen könnt ist das Projekt zur zeit tot (weil ich den Quellcode bei einem HD problem verloren hab und der Code im CVS zu alt ist ...)&lt;br /&gt;
naja zurzeit arbeit ich an einem neuen Projekt aber da gibt's noch nicht viel vorzuzeigen ;)&lt;/div&gt;</summary>
		<author><name>Johannes</name></author>	</entry>

	</feed>