<?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=Lithander</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=Lithander"/>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php/Spezial:Beitr%C3%A4ge/Lithander"/>
		<updated>2026-04-21T02:24:42Z</updated>
		<subtitle>Benutzerbeiträge</subtitle>
		<generator>MediaWiki 1.27.4</generator>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=glAccum&amp;diff=146</id>
		<title>glAccum</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=glAccum&amp;diff=146"/>
				<updated>2004-07-02T01:58:28Z</updated>
		
		<summary type="html">&lt;p&gt;Lithander: =Beschreibung=&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= glAccum =&lt;br /&gt;
&lt;br /&gt;
== Name ==&lt;br /&gt;
&lt;br /&gt;
'''glAccum''' spezifiziert die Betriebsart des Accumulation-Buffers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Delphi-Spezifikation ==&lt;br /&gt;
&lt;br /&gt;
procedure '''glAccum( op : GLenum; value : GLfloat);&lt;br /&gt;
&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;
''op''&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Bestimmt die Betriebsart des Accumulation-Buffers.&lt;br /&gt;
Es werden die folgenden fünf symbolischen Konstanten aktzeptiert:&lt;br /&gt;
GL_ACCUM, GL_LOAD, GL_ADD, GL_MULT, GL_RETURN&lt;br /&gt;
&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 valign=&amp;quot;top&amp;quot; width=&amp;quot;80px&amp;quot;&amp;gt;&lt;br /&gt;
''value''&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Eine Fließkommazahl, die je nach Betriebsart (op) des Accumulation-Buffers unterschiedlich verwendet wird.&lt;br /&gt;
&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;
&lt;br /&gt;
== Beschreibung == &lt;br /&gt;
&lt;br /&gt;
Der Accumulation-Buffer ist ein erweiterter Color-Buffer. Allerdings wird nicht direkt in den Accumulation-Buffer gerendert. Stattdessen wird nach dem Rendern in einen Color-Buffer der Inhalt des Accumulation-Buffers geändert, wobei die Betriebsart des Accumulation-Buffers darüber entscheidet, wie dies genau geschieht.&lt;br /&gt;
Mit Hilfe des Accumulation-Buffers lassen sich z.B. Effekte wie  Antialiasing, Bewegungs- und Tiefenunschärfe erzeugen, indem man Szenen mehrmals mit unterschiedlichen Transformationsmatritzen rendert und im Accumulation-Buffer kombiniert.&lt;br /&gt;
&lt;br /&gt;
Jeder Pixel im Accumulation-Buffer enthält Rot-, Grün-, Blau- und Alphawerte im im Bereich von 1 bis 1. Dabei bilden die Pixel im Accumulation-Buffer eins zu eins auf die Pixel im Framebuffer ab.&lt;br /&gt;
&lt;br /&gt;
Folgende Funktionsmodi gibt es für den Accumulation-Buffer:&lt;br /&gt;
&lt;br /&gt;
'''GL_ACCUM'''&lt;br /&gt;
&lt;br /&gt;
Nimmt Farbwerte (RGBA) aus dem gegenwärtig per [[glReadBuffer]] selektierten Color-Buffer und bildet die Farbwerte aus dem Intervall [0, 255]* in auf Fließkommzahlen im Intervall [0,1] ab. (Und zwar linear, wobei die 0 so bleibt und 255 zu 1 wird.)&lt;br /&gt;
Jeder Farbwert wird nun mit dem beim Aufruf von [[glAccum]] als ''value'' übergebenen Wert multipliziert und zur entsprechenden Pixelkomponente im Accumulation-Buffer hinzugefügt.&lt;br /&gt;
&lt;br /&gt;
'''GL_LOAD'''&lt;br /&gt;
&lt;br /&gt;
Die Berechnung läuft wie bei GL_ACCUM, nur das am Ende die Farbwerte nicht zu den bereits im Accumulation-Buffer stehenden, hinzuaddiert werden sondern diese überschreiben.&lt;br /&gt;
&lt;br /&gt;
'''GL_ADD'''&lt;br /&gt;
&lt;br /&gt;
Zu jeder im Accumulation-Buffer stehenden Farbkomponente wird ''value'' hinzuaddiert.&lt;br /&gt;
&lt;br /&gt;
'''GL_MULT'''&lt;br /&gt;
&lt;br /&gt;
Jede im Accumulation-Buffer stehenden Farbkomponente wird mit ''value'' multipliziert.&lt;br /&gt;
&lt;br /&gt;
'''GL_RETURN'''&lt;br /&gt;
&lt;br /&gt;
Funktioniert wie '''GL_ACCUM''' nur andersrum: Die Farbwerte des Accumulation-Buffers werden mit ''value'' multipliziert, auf das Intervall [0, 255]* abgebildet (und dabei u.U. geclampt) und in den gerade aktiven Color-Buffer geschrieben.&lt;br /&gt;
&lt;br /&gt;
Um den Accumulation-Buffer zu löschen, kann der Befehl [[glClear]] benutzt werden. Mit [[glClearAccum]] lassen sich die beim Löschen geschriebenen Farbwerte festlegen.&lt;br /&gt;
&lt;br /&gt;
Nur die Pixel innerhalb der Scissor-Box werden beachtet. Diese lässt sich mit [[glScissor]] setzen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Achtung:&amp;lt;/b&amp;gt; Wenn das Ergebniss der vom Accumulation-Buffer berechneten Farbwerte außerhalb des Bereichs zwische -1 und +1 liegen, ist nicht definiert, was in den Accumulation-Buffer geschrieben wird. Hier wird also nicht notwendigerweise geclampt!&lt;br /&gt;
&lt;br /&gt;
== Fehlermeldungen ==&lt;br /&gt;
&lt;br /&gt;
GL_INVALID_ENUM  wird ausgelöst wenn ''op'' einen ungültigen Wert besitzt.&lt;br /&gt;
GL_INVALID_OPERATION  wird ausgelöst, wenn es keinen Accumulation-Buffer gibt oder der Befehl innerhalb eines glBegin/glEnd Blocks aufgerufen wird.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
[[glBegin]], [[glBlendFunc]], [[glClear]], [[glClearAccum]], [[glCopyPixels]], [[glEnd]], [[glGet]], [[glLogicOp]], [[glPixelStore]], [[glPixelTransfer]], [[glReadBuffer]], [[glReadPixels]], [[glScissor]], [[glStencilOp]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*) Dieses Intervall bezieht sich auf 32bit Fartiefe, die heutzutage wohl als Standard angesehen werden darf. Bei 16bit Farbtiefe sieht der Bereich natürlich anders aus.&lt;/div&gt;</summary>
		<author><name>Lithander</name></author>	</entry>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=glAccum&amp;diff=32</id>
		<title>glAccum</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=glAccum&amp;diff=32"/>
				<updated>2004-07-02T01:57:15Z</updated>
		
		<summary type="html">&lt;p&gt;Lithander: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= glAccum =&lt;br /&gt;
&lt;br /&gt;
== Name ==&lt;br /&gt;
&lt;br /&gt;
'''glAccum''' spezifiziert die Betriebsart des Accumulation-Buffers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Delphi-Spezifikation ==&lt;br /&gt;
&lt;br /&gt;
procedure '''glAccum( op : GLenum; value : GLfloat);&lt;br /&gt;
&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;
''op''&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Bestimmt die Betriebsart des Accumulation-Buffers.&lt;br /&gt;
Es werden die folgenden fünf symbolischen Konstanten aktzeptiert:&lt;br /&gt;
GL_ACCUM, GL_LOAD, GL_ADD, GL_MULT, GL_RETURN&lt;br /&gt;
&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 valign=&amp;quot;top&amp;quot; width=&amp;quot;80px&amp;quot;&amp;gt;&lt;br /&gt;
''value''&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Eine Fließkommazahl, die je nach Betriebsart (op) des Accumulation-Buffers unterschiedlich verwendet wird.&lt;br /&gt;
&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;
&lt;br /&gt;
== Beschreibung == &lt;br /&gt;
&lt;br /&gt;
Der Accumulation-Buffer ist ein erweiterter Color-Buffer. Allerdings wird nicht direkt in den Accumulation-Buffer gerendert. Stattdessen wird nach dem Rendern in einen Color-Buffer der Inhalt des Accumulation-Buffers geändert, wobei die Betriebsart des Accumulation-Buffers darüber entscheidet, wie dies genau geschieht.&lt;br /&gt;
Mit Hilfe des Accumulation-Buffers lassen sich z.B. Effekte wie  Antialiasing, Bewegungs- und Tiefenunschärfe erzeugen, indem man Szenen mehrmals mit unterschiedlichen Transformationsmatritzen rendert und im Accumulation-Buffer kombiniert.&lt;br /&gt;
&lt;br /&gt;
Jeder Pixel im Accumulation-Buffer enthält Rot-, Grün-, Blau- und Alphawerte im im Bereich von 1 bis 1. Dabei bilden die Pixel im Accumulation-Buffer eins zu eins auf die Pixel im Framebuffer ab.&lt;br /&gt;
&lt;br /&gt;
Folgende Funktionsmodi gibt es für den Accumulation-Buffer:&lt;br /&gt;
&lt;br /&gt;
'''GL_ACCUM'''&lt;br /&gt;
&lt;br /&gt;
Nimmt Farbwerte (RGBA) aus dem gegenwärtig per [[glReadBuffer]] selektierten Color-Buffer und bildet die Farbwerte aus dem Intervall [0, 255]* in auf Fließkommzahlen im Intervall [0,1] ab. (Und zwar linear, wobei die 0 so bleibt und 255 zu 1 wird.)&lt;br /&gt;
Jeder Farbwert wird nun mit dem beim Aufruf von [[glAccum]] als ''value'' übergebenen Wert multipliziert und zur entsprechenden Pixelkomponente im Accumulation-Buffer hinzugefügt.&lt;br /&gt;
&lt;br /&gt;
'''GL_LOAD'''&lt;br /&gt;
&lt;br /&gt;
Die Berechnung läuft wie bei GL_ACCUM, nur das am Ende die Farbwerte nicht zu den bereits im Accumulation-Buffer stehenden, hinzuaddiert werden sondern diese überschreiben.&lt;br /&gt;
&lt;br /&gt;
'''GL_ADD'''&lt;br /&gt;
&lt;br /&gt;
Zu jeder im Accumulation-Buffer stehenden Farbkomponente wird ''value'' hinzuaddiert.&lt;br /&gt;
&lt;br /&gt;
'''GL_MULT'''&lt;br /&gt;
&lt;br /&gt;
Jede im Accumulation-Buffer stehenden Farbkomponente wird mit ''value'' multipliziert.&lt;br /&gt;
&lt;br /&gt;
'''GL_RETURN'''&lt;br /&gt;
&lt;br /&gt;
Funktioniert wie ''GL_ACCUM'' nur andersrum: Die Farbwerte des Accumulation-Buffers werden mit ''value'' multipliziert, auf das Intervall [0, 255]* abgebildet (und dabei u.U. geclampt) und in den gerade aktiven Color-Buffer geschrieben.&lt;br /&gt;
&lt;br /&gt;
Um den Accumulation-Buffer zu löschen, kann der Befehl [[glClear]] benutzt werden. Mit [[glClearAccum]] lassen sich die beim Löschen geschriebenen Farbwerte festlegen.&lt;br /&gt;
&lt;br /&gt;
Nur die Pixel innerhalb der Scissor-Box werden beachtet. Diese lässt sich mit [[glScissor]] setzen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Achtung:&amp;lt;/b&amp;gt; Wenn das Ergebniss der vom Accumulation-Buffer berechneten Farbwerte außerhalb des Bereichs zwische -1 und +1 liegen, ist nicht definiert, was in den Accumulation-Buffer geschrieben wird. Hier wird also nicht notwendigerweise geclampt!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fehlermeldungen ==&lt;br /&gt;
&lt;br /&gt;
GL_INVALID_ENUM  wird ausgelöst wenn ''op'' einen ungültigen Wert besitzt.&lt;br /&gt;
GL_INVALID_OPERATION  wird ausgelöst, wenn es keinen Accumulation-Buffer gibt oder der Befehl innerhalb eines glBegin/glEnd Blocks aufgerufen wird.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
[[glBegin]], [[glBlendFunc]], [[glClear]], [[glClearAccum]], [[glCopyPixels]], [[glEnd]], [[glGet]], [[glLogicOp]], [[glPixelStore]], [[glPixelTransfer]], [[glReadBuffer]], [[glReadPixels]], [[glScissor]], [[glStencilOp]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*) Dieses Intervall bezieht sich auf 32bit Fartiefe, die heutzutage wohl als Standard angesehen werden darf. Bei 16bit Farbtiefe sieht der Bereich natürlich anders aus.&lt;/div&gt;</summary>
		<author><name>Lithander</name></author>	</entry>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=OpenGL-Funktions%C3%BCbersicht&amp;diff=33</id>
		<title>OpenGL-Funktionsübersicht</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=OpenGL-Funktions%C3%BCbersicht&amp;diff=33"/>
				<updated>2004-07-02T00:52:38Z</updated>
		
		<summary type="html">&lt;p&gt;Lithander: =GL=&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Was hier hinein gehört  ==&lt;br /&gt;
&lt;br /&gt;
Ähnlich den [http://developer.3dlabs.com/glmanpage_index.htm GL Man Pages] soll hier mit der Zeit eine Funktionsübersicht über alle OpenGL-Befehle entstehen. Allerdings sind hier auch glu-/wgl- und glx-Funktionen erlaubt. Konstanten bitte nicht hier im Inhaltsverzeichnis einfügen, genausowenig wie [[OpenGL-Extensions]].&lt;br /&gt;
Bitte achtet darauf die Funktionen zu grupperen, also alle gl*-Befehle beieinander, und alle glu*-Befehle auch beieinander.&lt;br /&gt;
&lt;br /&gt;
Bitte haltet euch bei der Formatierung der Befehlsbeschreibung an die Vorlagen aus den GL Man Pages (ich führe hier mal glBegin als Beispiel an), und erklärt nicht mehr als nötig. &lt;br /&gt;
Wenn ihr also einen Befehl habt der etwas mit VertexArrays zu tun hat, dann gehört dort '''nicht''' hinein was ein VertexArray ist oder bringt. Das gehört dann nach [[Techniken und Algorithmen]] oder [[Hintergrundwissen]] (je nach Thematik) und sollte dann in der Funktionsbeschreibung als ''interner Link'' untergebracht werden.&lt;br /&gt;
&lt;br /&gt;
== Funktionsübersicht ==&lt;br /&gt;
=== GL ===&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;b&amp;gt;A&amp;lt;/b&amp;gt;&lt;br /&gt;
  [[glAccum]]&lt;br /&gt;
  [[glAddSwapHintRectWIN]] &lt;br /&gt;
  [[glAlphaFunc]] &lt;br /&gt;
  [[glAreTexturesResident]]&lt;br /&gt;
  [[glArrayElement]]&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;b&amp;gt;B&amp;lt;/b&amp;gt;&lt;br /&gt;
  [[glBegin]]&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;b&amp;gt;C&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;b&amp;gt;D&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;b&amp;gt;D&amp;lt;/b&amp;gt;&lt;br /&gt;
  [[glEnd]]&lt;br /&gt;
&lt;br /&gt;
=== GLU ===&lt;br /&gt;
 (Was ist die [[GLU]]?)&lt;br /&gt;
 [[gluPerspective]]&lt;br /&gt;
&lt;br /&gt;
=== WGL ===&lt;br /&gt;
 (Was ist die [[WGL]]?)&lt;br /&gt;
 [[wglShareLists]]&lt;br /&gt;
&lt;br /&gt;
=== GLX ===&lt;br /&gt;
 (Was ist die [[GLX]]?)&lt;br /&gt;
 [[glxCreateContext]]&lt;/div&gt;</summary>
		<author><name>Lithander</name></author>	</entry>

	</feed>