<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>https://wiki.delphigl.com/index.php?action=history&amp;feed=atom&amp;title=Texel_Berechnung</id>
		<title>Texel Berechnung - Versionsgeschichte</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.delphigl.com/index.php?action=history&amp;feed=atom&amp;title=Texel_Berechnung"/>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=Texel_Berechnung&amp;action=history"/>
		<updated>2026-05-24T13:45:25Z</updated>
		<subtitle>Versionsgeschichte dieser Seite in DGL Wiki</subtitle>
		<generator>MediaWiki 1.27.4</generator>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=Texel_Berechnung&amp;diff=23315&amp;oldid=prev</id>
		<title>Dj3hut1: Links auf glTexImage ausgetauscht</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=Texel_Berechnung&amp;diff=23315&amp;oldid=prev"/>
				<updated>2009-04-29T10:08:01Z</updated>
		
		<summary type="html">&lt;p&gt;Links auf glTexImage ausgetauscht&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='de'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Version vom 29. April 2009, 10:08 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l10&quot; &gt;Zeile 10:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 10:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Die Textur Koordinaten=&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Die Textur Koordinaten=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;OpenGL generiert aus einem 3eck mehrere Texel. Jedes Texel erhält eine ein (oder mehr) Dimensionale Texturcoordinate im Wertebereich [0|1]. Die Texturcoordinate(n) können beliebig sein, der Programmierer gibt jedoch nur einzelne Werte mitteln [[&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;glTexImage&lt;/del&gt;]] vor. Nun muss OpenGL für die nicht angegebenen S-Koordinaten Farbwerte finden. Das finden des Farbwertes für eine S-Koordinate ist somit eine Funktion einer Texturcoordinate im Bereich [0|1] zu einem entsprechenden Farbwert bei dem X Werte bekannt sind (X ist hierbei die Texturbreite). Gleiches gilt für die t-, r- und ggf. die q- Koordinaten. Wie die anderen Werte gefunden werden hängt von verschiedenen [[glTexParameter|Textur-Parametern]] ab. Hier wird nur auf die S-Koordinate eingegangen, jedoch gilt das selbe Prinzip auch für alle anderen Koordinaten (t, r und q) bzw. Dimensionen (2te, 3te und 4te).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;OpenGL generiert aus einem 3eck mehrere Texel. Jedes Texel erhält eine ein (oder mehr) Dimensionale Texturcoordinate im Wertebereich [0|1]. Die Texturcoordinate(n) können beliebig sein, der Programmierer gibt jedoch nur einzelne Werte mitteln [[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;glTexImage2D&lt;/ins&gt;]] vor. Nun muss OpenGL für die nicht angegebenen S-Koordinaten Farbwerte finden. Das finden des Farbwertes für eine S-Koordinate ist somit eine Funktion einer Texturcoordinate im Bereich [0|1] zu einem entsprechenden Farbwert bei dem X Werte bekannt sind (X ist hierbei die Texturbreite). Gleiches gilt für die t-, r- und ggf. die q- Koordinaten. Wie die anderen Werte gefunden werden hängt von verschiedenen [[glTexParameter|Textur-Parametern]] ab. Hier wird nur auf die S-Koordinate eingegangen, jedoch gilt das selbe Prinzip auch für alle anderen Koordinaten (t, r und q) bzw. Dimensionen (2te, 3te und 4te).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=[[glTexParameter|GL_NEAREST]]=&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=[[glTexParameter|GL_NEAREST]]=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l47&quot; &gt;Zeile 47:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 47:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Texturkoordinatenberechnung=&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Texturkoordinatenberechnung=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Wie aus der obigen Beschreibung und den Beispielen ersichtlich sein sollte, werden die Werte die bei [[&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;glTexImage&lt;/del&gt;]] angegeben wurden für die S-Werte:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Wie aus der obigen Beschreibung und den Beispielen ersichtlich sein sollte, werden die Werte die bei [[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;glTexImage2D&lt;/ins&gt;]] angegeben wurden für die S-Werte:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; 0,5/Breite + Texel/Breite&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; 0,5/Breite + Texel/Breite&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;angegeben.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;angegeben.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Dj3hut1</name></author>	</entry>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=Texel_Berechnung&amp;diff=12637&amp;oldid=prev</id>
		<title>Lyr: /* GL_CLAMP */</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=Texel_Berechnung&amp;diff=12637&amp;oldid=prev"/>
				<updated>2005-03-24T02:28:25Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;&lt;a href=&quot;/index.php/glTexParameter&quot; title=&quot;glTexParameter&quot;&gt;GL_CLAMP&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='de'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Version vom 24. März 2005, 02:28 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l20&quot; &gt;Zeile 20:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 20:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=[[glTexParameter|GL_CLAMP]]=&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=[[glTexParameter|GL_CLAMP]]=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Bei GL_CLAMP wird die S-Koordinate im Bereich von [-Unendlich|+0,5/Breite] durch das linkeste Texel ersetzt und der Wertebereich von [1-(0,5/Breite)|+Unendlich] durch das rechteste Texel ersetzt. Gleiches gilt für die Tiefe und T-Koordinate bzw. Tiefe und R-Koordinate. Bei GL_NEAREST wird aufgrund der Funktion &amp;quot;Wähle nähesten gegebenen Wert zu S-Koordinate&amp;quot; natürlich der Bereich [-Unendlich|1/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Breiche&lt;/del&gt;] vom linkesten Texel abgedeckt, bzw. der Bereich [(Breite&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;-1&lt;/del&gt;)&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;/&lt;/del&gt;+Unendlich] vom rechtesten Texel abgedeckt. Dies hilft uns ggf. beim ersten Anwendungsfall, sofern es erwünscht ist, dass die Randtexel den Rand abdecken und nicht interpoliert werden. GL_LINEAR entspricht einem&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Bei GL_CLAMP wird die S-Koordinate im Bereich von [-Unendlich|+0,5/Breite] durch das linkeste Texel ersetzt und der Wertebereich von [1-(0,5/Breite)|+Unendlich] durch das rechteste Texel ersetzt. Gleiches gilt für die Tiefe und T-Koordinate bzw. Tiefe und R-Koordinate. Bei GL_NEAREST wird aufgrund der Funktion &amp;quot;Wähle nähesten gegebenen Wert zu S-Koordinate&amp;quot; natürlich der Bereich [-Unendlich|1/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Breite&lt;/ins&gt;] vom linkesten Texel abgedeckt, bzw. der Bereich [&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;1-&lt;/ins&gt;(&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;1/&lt;/ins&gt;Breite)&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|&lt;/ins&gt;+Unendlich] vom rechtesten Texel abgedeckt. Dies hilft uns ggf. beim ersten Anwendungsfall, sofern es erwünscht ist, dass die Randtexel den Rand abdecken und nicht interpoliert werden. GL_LINEAR entspricht einem&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; if( Texturkoordinate &amp;lt; 0 )&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; if( Texturkoordinate &amp;lt; 0 )&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; Texturkoordinate = 0&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; Texturkoordinate = 0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Lyr</name></author>	</entry>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=Texel_Berechnung&amp;diff=4645&amp;oldid=prev</id>
		<title>Lyr: /* GL_CLAMP */</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=Texel_Berechnung&amp;diff=4645&amp;oldid=prev"/>
				<updated>2005-03-24T02:26:31Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;&lt;a href=&quot;/index.php/glTexParameter&quot; title=&quot;glTexParameter&quot;&gt;GL_CLAMP&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='de'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Version vom 24. März 2005, 02:26 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l20&quot; &gt;Zeile 20:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 20:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=[[glTexParameter|GL_CLAMP]]=&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=[[glTexParameter|GL_CLAMP]]=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Bei GL_CLAMP wird die S-Koordinate im Bereich von [-Unendlich|+0,5/Breite] durch das linkeste Texel ersetzt und der Wertebereich von [&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Breite&lt;/del&gt;-(0,5/Breite)|+Unendlich] durch das rechteste Texel ersetzt. Gleiches gilt für die &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Höhe &lt;/del&gt;und T-Koordinate bzw. Tiefe und R-Koordinate. Bei GL_NEAREST wird aufgrund der Funktion &amp;quot;Wähle nähesten gegebenen Wert zu S-Koordinate&amp;quot; natürlich der Bereich [-Unendlich|1/Breiche] vom linkesten Texel abgedeckt, bzw. der Bereich [(Breite-1)/+Unendlich] vom rechtesten Texel abgedeckt. Dies hilft uns ggf. beim ersten Anwendungsfall, sofern es erwünscht ist, dass die Randtexel den Rand abdecken und nicht interpoliert werden. GL_LINEAR entspricht einem&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Bei GL_CLAMP wird die S-Koordinate im Bereich von [-Unendlich|+0,5/Breite] durch das linkeste Texel ersetzt und der Wertebereich von [&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;1&lt;/ins&gt;-(0,5/Breite)|+Unendlich] durch das rechteste Texel ersetzt. Gleiches gilt für die &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Tiefe &lt;/ins&gt;und T-Koordinate bzw. Tiefe und R-Koordinate. Bei GL_NEAREST wird aufgrund der Funktion &amp;quot;Wähle nähesten gegebenen Wert zu S-Koordinate&amp;quot; natürlich der Bereich [-Unendlich|1/Breiche] vom linkesten Texel abgedeckt, bzw. der Bereich [(Breite-1)/+Unendlich] vom rechtesten Texel abgedeckt. Dies hilft uns ggf. beim ersten Anwendungsfall, sofern es erwünscht ist, dass die Randtexel den Rand abdecken und nicht interpoliert werden. GL_LINEAR entspricht einem&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; if( Texturkoordinate &amp;lt; 0 )&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; if( Texturkoordinate &amp;lt; 0 )&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; Texturkoordinate = 0&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; Texturkoordinate = 0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Lyr</name></author>	</entry>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=Texel_Berechnung&amp;diff=4644&amp;oldid=prev</id>
		<title>Lyr am 24. März 2005 um 02:22 Uhr</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=Texel_Berechnung&amp;diff=4644&amp;oldid=prev"/>
				<updated>2005-03-24T02:22:22Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='de'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Version vom 24. März 2005, 02:22 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l3&quot; &gt;Zeile 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#Wiederholen von Texturen: Zylinder, Kugeln, Detailtexturen, Wasser, wiederholendes Hintergrundbild&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#Wiederholen von Texturen: Zylinder, Kugeln, Detailtexturen, Wasser, wiederholendes Hintergrundbild&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#Tiling, mehrere Texturen zusammen setzen: Iso-Engines, Farbtexturen bei Landschaften, zusammengesetzte Bilder (zB Hintergrund)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#Tiling, mehrere Texturen zusammen setzen: Iso-Engines, Farbtexturen bei Landschaften, zusammengesetzte Bilder (zB Hintergrund)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;OpenGL sollte möglichst alle Bedürfnisse erfüllen und dennoch möglichst simpel sein. Bei der Anforderung nur eine Textur zu zeichnen stößt man sehr schnell auf das Bedürfniss, dass alle Texel &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;eine &lt;/del&gt;Textur gleich viel Einfluss auf die Textur nehmen. Das heißt der Einflussbereich eines jeden Texels sollte genau 1/Texturgröße sein.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;OpenGL sollte möglichst alle Bedürfnisse erfüllen und dennoch möglichst simpel sein. Bei der Anforderung nur eine Textur zu zeichnen stößt man sehr schnell auf das Bedürfniss, dass alle Texel &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;einer &lt;/ins&gt;Textur gleich viel Einfluss auf die Textur nehmen. Das heißt der Einflussbereich eines jeden Texels sollte genau 1/Texturgröße sein.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;br&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Für die 2te Anforderung (das wiederholen von Texturen) erwartet man eine (lineare) Interpolation des ersten und des letzten Texels einer Textur.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Für die 2te Anforderung (das wiederholen von Texturen) erwartet man eine (lineare) Interpolation des ersten und des letzten Texels einer Textur.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;br&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Für die 3te Art der Verwendung von Texturen benötigt man ohnehin einzelne Quads, wodurch es eher egal ist wie die Textur aufgeteilt wird, solange eine Interpolation zwischen 2 unterschiedlichen Texturen möglich ist.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Für die 3te Art der Verwendung von Texturen benötigt man ohnehin einzelne Quads, wodurch es eher egal ist wie die Textur aufgeteilt wird, solange eine Interpolation zwischen 2 unterschiedlichen Texturen möglich ist.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Lyr</name></author>	</entry>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=Texel_Berechnung&amp;diff=4643&amp;oldid=prev</id>
		<title>Lyr am 24. März 2005 um 02:17 Uhr</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=Texel_Berechnung&amp;diff=4643&amp;oldid=prev"/>
				<updated>2005-03-24T02:17:16Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='de'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Version vom 24. März 2005, 02:17 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l34&quot; &gt;Zeile 34:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 34:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Alle Beispielbilder wurden mit einer Textur mit 4 Texeln erstellt.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Alle Beispielbilder wurden mit einer Textur mit 4 Texeln erstellt.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Bild:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;TexturkoordinateNearestRepeat&lt;/del&gt;.PNG]]&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Bild:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;TexturkoordinateNearestClamp&lt;/ins&gt;.PNG]]&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;GL_NEAREST und GL_CLAMP&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;GL_NEAREST und GL_CLAMP&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Lyr</name></author>	</entry>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=Texel_Berechnung&amp;diff=4642&amp;oldid=prev</id>
		<title>Lyr am 24. März 2005 um 02:16 Uhr</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=Texel_Berechnung&amp;diff=4642&amp;oldid=prev"/>
				<updated>2005-03-24T02:16:02Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Es gibt mehrere Unterschiedliche Arten wie Texturen verwendet werden können. Beispielsweise:&lt;br /&gt;
#Eine Textur = ein Bild: User Interface, Partikel, ...&lt;br /&gt;
#Wiederholen von Texturen: Zylinder, Kugeln, Detailtexturen, Wasser, wiederholendes Hintergrundbild&lt;br /&gt;
#Tiling, mehrere Texturen zusammen setzen: Iso-Engines, Farbtexturen bei Landschaften, zusammengesetzte Bilder (zB Hintergrund)&lt;br /&gt;
OpenGL sollte möglichst alle Bedürfnisse erfüllen und dennoch möglichst simpel sein. Bei der Anforderung nur eine Textur zu zeichnen stößt man sehr schnell auf das Bedürfniss, dass alle Texel eine Textur gleich viel Einfluss auf die Textur nehmen. Das heißt der Einflussbereich eines jeden Texels sollte genau 1/Texturgröße sein.&lt;br /&gt;
Für die 2te Anforderung (das wiederholen von Texturen) erwartet man eine (lineare) Interpolation des ersten und des letzten Texels einer Textur.&lt;br /&gt;
Für die 3te Art der Verwendung von Texturen benötigt man ohnehin einzelne Quads, wodurch es eher egal ist wie die Textur aufgeteilt wird, solange eine Interpolation zwischen 2 unterschiedlichen Texturen möglich ist.&lt;br /&gt;
&lt;br /&gt;
In diesem Artikel wird darauf eingegangen wie OpenGL alle 3 Bedürfnisse erfüllt und natürlich auch was die für den Programmierer bedeutet.&lt;br /&gt;
&lt;br /&gt;
=Die Textur Koordinaten=&lt;br /&gt;
OpenGL generiert aus einem 3eck mehrere Texel. Jedes Texel erhält eine ein (oder mehr) Dimensionale Texturcoordinate im Wertebereich [0|1]. Die Texturcoordinate(n) können beliebig sein, der Programmierer gibt jedoch nur einzelne Werte mitteln [[glTexImage]] vor. Nun muss OpenGL für die nicht angegebenen S-Koordinaten Farbwerte finden. Das finden des Farbwertes für eine S-Koordinate ist somit eine Funktion einer Texturcoordinate im Bereich [0|1] zu einem entsprechenden Farbwert bei dem X Werte bekannt sind (X ist hierbei die Texturbreite). Gleiches gilt für die t-, r- und ggf. die q- Koordinaten. Wie die anderen Werte gefunden werden hängt von verschiedenen [[glTexParameter|Textur-Parametern]] ab. Hier wird nur auf die S-Koordinate eingegangen, jedoch gilt das selbe Prinzip auch für alle anderen Koordinaten (t, r und q) bzw. Dimensionen (2te, 3te und 4te).&lt;br /&gt;
&lt;br /&gt;
=[[glTexParameter|GL_NEAREST]]=&lt;br /&gt;
GL_NEAREST ist der Fall wo es am offensichtlichsten ist, dass jedes Texel gleich viel Einfluss nehmen sollte. Bei einer Textur die 2 Texel breit ist, sollte das linke Texel den Wertebereich [0|0,5] abdecken und das rechte Texel den Wertebereich [0,5|1] abdecken. Damit dies möglich ist, musst sich das Zentrum des Texels natürlich im Zentrum des entsprechenden Wertebereiches befinden. Bei 2 Texel Breite befindet sich also das linke Texel an der Position 0,25 und das rechte Texel an der Position 0,75.&lt;br /&gt;
Dies ist unumgänglich für den ersten unserer Anwendungsfälle und ist förderlich für den dritten.&lt;br /&gt;
&lt;br /&gt;
=[[glTexParameter|GL_LINEAR]]=&lt;br /&gt;
GL_LINEAR liefert schönere Ergebnisse wenn die Textur zu klein geraten ist. Um den zweiten Anwendungsfall erreichen zu können müssen jedoch das erste und das letzte Texel ebenfalls Interpoliert werden. Dies wiederspricht sich glücklicherweise nicht mit GL_NEAREST und den anderen beiden Anwendungsfällen, jedoch folgt aus der Beobachtung, dass bei einer 2 Texel breiten Textur der erste Wert für 0.25 gegeben wurde und der zweite Wert für 0.75, dass sowohl die Texturkoordinate 0.0 als auch die Texturkoordinate 1.0 eine lineare Interpolation des ersten und des zweiten Texels ist. Dies hindert uns jedoch nicht daran beispielsweise 10 Wiederholungen ein und derselben Textur zu machen indem wir Texturkoordinaten von 0.0 und 10.0 angeben. Jedoch ist dies sehrwohl für die beiden anderen Anwendungsfälle von Bedeutung.&lt;br /&gt;
&lt;br /&gt;
=[[glTexParameter|GL_CLAMP]]=&lt;br /&gt;
Bei GL_CLAMP wird die S-Koordinate im Bereich von [-Unendlich|+0,5/Breite] durch das linkeste Texel ersetzt und der Wertebereich von [Breite-(0,5/Breite)|+Unendlich] durch das rechteste Texel ersetzt. Gleiches gilt für die Höhe und T-Koordinate bzw. Tiefe und R-Koordinate. Bei GL_NEAREST wird aufgrund der Funktion &amp;quot;Wähle nähesten gegebenen Wert zu S-Koordinate&amp;quot; natürlich der Bereich [-Unendlich|1/Breiche] vom linkesten Texel abgedeckt, bzw. der Bereich [(Breite-1)/+Unendlich] vom rechtesten Texel abgedeckt. Dies hilft uns ggf. beim ersten Anwendungsfall, sofern es erwünscht ist, dass die Randtexel den Rand abdecken und nicht interpoliert werden. GL_LINEAR entspricht einem&lt;br /&gt;
 if( Texturkoordinate &amp;lt; 0 )&lt;br /&gt;
  Texturkoordinate = 0&lt;br /&gt;
 else if (Texturkoordinate &amp;gt; 1 )&lt;br /&gt;
  Texturkoordinate = 1&lt;br /&gt;
&lt;br /&gt;
=[[glTexParameter|GL_REPEAT]]=&lt;br /&gt;
Bei GL_REPEAT wurde auf diejenigen Rücksicht genommen die keine einzelnen Quadrate für jede Texturwiederholung zeichnen möchten. Dies ist natürlich insbesondere für den 2ten Fall der Anwendung wichtig, da ansonnsten enorme Performance einbusen bezüglich der Vertex- bzw. 3ecks-Anzahl in kauf genommen werden müssten. Bei der Wiederholung von Texturen ist es sehr hilfreich wenn man ein Quadrat zeichen kann, dessen Texturkoordinaten beispeilsweise links 0.0 und rechts 10.0 sind und die Textur 10 mal wiederholt wird, anstatt 10 Quadrate zu zeichen (im 2D-Texturen Fall 100 Quadrate).&lt;br /&gt;
Bei GL_REPEAT wird das linkeste Texel mit dem rechtesten Texel genau so interpoliert wie alle anderen Texel, und die Texturen werden wiederholt. Dies entspricht einem&lt;br /&gt;
 Texturkoordinate = Texturkoorinate modulo 1&lt;br /&gt;
&lt;br /&gt;
=Beispiele=&lt;br /&gt;
Alle Beispielbilder wurden mit einer Textur mit 4 Texeln erstellt.&lt;br /&gt;
&lt;br /&gt;
[[Bild:TexturkoordinateNearestRepeat.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
GL_NEAREST und GL_CLAMP&lt;br /&gt;
&lt;br /&gt;
[[Bild:TexturkoordinateNearestRepeat.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
GL_NEAREST und GL_REPEAT&lt;br /&gt;
&lt;br /&gt;
[[Bild:TexturkoordinateLinearClamp.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
GL_LINEAR und GL_CLAMP&lt;br /&gt;
&lt;br /&gt;
[[Bild:TexturkoordinateLinearRepeat.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
GL_LINEAR und GL_REPEAT&lt;br /&gt;
&lt;br /&gt;
=Texturkoordinatenberechnung=&lt;br /&gt;
Wie aus der obigen Beschreibung und den Beispielen ersichtlich sein sollte, werden die Werte die bei [[glTexImage]] angegeben wurden für die S-Werte:&lt;br /&gt;
 0,5/Breite + Texel/Breite&lt;br /&gt;
angegeben.&lt;/div&gt;</summary>
		<author><name>Lyr</name></author>	</entry>

	</feed>