<?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=Diskussion%3ATutorial_Vertexbufferobject</id>
		<title>Diskussion:Tutorial Vertexbufferobject - Versionsgeschichte</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.delphigl.com/index.php?action=history&amp;feed=atom&amp;title=Diskussion%3ATutorial_Vertexbufferobject"/>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=Diskussion:Tutorial_Vertexbufferobject&amp;action=history"/>
		<updated>2026-04-16T02:21:47Z</updated>
		<subtitle>Versionsgeschichte dieser Seite in DGL Wiki</subtitle>
		<generator>MediaWiki 1.27.4</generator>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=Diskussion:Tutorial_Vertexbufferobject&amp;diff=22457&amp;oldid=prev</id>
		<title>Coolcat: /* Usage-Flags bei Extension NV_transform_feedback */</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=Diskussion:Tutorial_Vertexbufferobject&amp;diff=22457&amp;oldid=prev"/>
				<updated>2009-01-17T13:21:31Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Usage-Flags bei Extension NV_transform_feedback&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 17. Januar 2009, 13:21 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-l1&quot; &gt;Zeile 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 1:&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;== Usage-Flags bei Extension NV_transform_feedback ==&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;== Usage-Flags bei Extension NV_transform_feedback ==&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;Zunächst eine kurze Erläuterung was die Extension '''NV_transform_feedback''' ist. Mit Transform-Feedback kann man die ''varying'' Variablen zwischen Vertexshader (bzw. Geometryshader) und Pixelshader abgreifen und in einen oder mehrere Buffer schreiben. Bei den Buffern kann es sich um jede Art von Buffer handeln, also Vertexbuffer, Indexbuffer oder auch TextureBuffer (mit '''&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ARB_texture_buffer_object&lt;/del&gt;'''). Das ganze ist also eine Alternative zum FramebufferObject, mit dem Vorteil das man via GL_RASTERIZER_DISCARD_NV den Pixelshader komplett abschalten kann. Außerdem darf man verschiedene Datentypen gleichzeitig schreiben, also z.B. FLOATs und INTs gleichzeitig, wobei man natürlich '''EXT_texture_integer''' braucht. Das ganze ist ein Feature von ShaderModel 4.0, in DirectX10 heißt das &amp;quot;StreamOut&amp;quot;.&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;Zunächst eine kurze Erläuterung was die Extension '''NV_transform_feedback''' ist. Mit Transform-Feedback kann man die ''varying'' Variablen zwischen Vertexshader (bzw. Geometryshader) und Pixelshader abgreifen und in einen oder mehrere Buffer schreiben. Bei den Buffern kann es sich um jede Art von Buffer handeln, also Vertexbuffer, Indexbuffer oder auch TextureBuffer (mit '''&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;EXT_texture_buffer_object&lt;/ins&gt;'''). Das ganze ist also eine Alternative zum FramebufferObject, mit dem Vorteil das man via GL_RASTERIZER_DISCARD_NV den Pixelshader komplett abschalten kann. Außerdem darf man verschiedene Datentypen gleichzeitig schreiben, also z.B. FLOATs und INTs gleichzeitig, wobei man natürlich '''EXT_texture_integer''' braucht. Das ganze ist ein Feature von ShaderModel 4.0, in DirectX10 heißt das &amp;quot;StreamOut&amp;quot;.&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;Was ich nun anmerken will ist, dass wenn man Transform-Feedback benutzt, der Ziel-Buffer nach Möglichkeit das Usage-Flag auf GL_STATIC_DRAW haben sollte. GL_DYNAMIC_* ist unglaublich langsam, weil der Buffer (oder eine Kopie davon) dabei im Hauptspeicher liegt. Die ganze Formulierung mit dem &amp;quot;verändern&amp;quot; von Daten stammt wohl aus der Zeit als nur die CPU den Inhalt eines Buffers ändern konnte. --[[Benutzer:Coolcat|Coolcat]] 13:14, 17. Jan. 2009 (UTC)&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;Was ich nun anmerken will ist, dass wenn man Transform-Feedback benutzt, der Ziel-Buffer nach Möglichkeit das Usage-Flag auf GL_STATIC_DRAW haben sollte. GL_DYNAMIC_* ist unglaublich langsam, weil der Buffer (oder eine Kopie davon) dabei im Hauptspeicher liegt. Die ganze Formulierung mit dem &amp;quot;verändern&amp;quot; von Daten stammt wohl aus der Zeit als nur die CPU den Inhalt eines Buffers ändern konnte. --[[Benutzer:Coolcat|Coolcat]] 13:14, 17. Jan. 2009 (UTC)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Coolcat</name></author>	</entry>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=Diskussion:Tutorial_Vertexbufferobject&amp;diff=22456&amp;oldid=prev</id>
		<title>Coolcat: Usage-Flags bei Extension NV_transform_feedback</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=Diskussion:Tutorial_Vertexbufferobject&amp;diff=22456&amp;oldid=prev"/>
				<updated>2009-01-17T13:14:42Z</updated>
		
		<summary type="html">&lt;p&gt;Usage-Flags bei Extension NV_transform_feedback&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Usage-Flags bei Extension NV_transform_feedback ==&lt;br /&gt;
&lt;br /&gt;
Zunächst eine kurze Erläuterung was die Extension '''NV_transform_feedback''' ist. Mit Transform-Feedback kann man die ''varying'' Variablen zwischen Vertexshader (bzw. Geometryshader) und Pixelshader abgreifen und in einen oder mehrere Buffer schreiben. Bei den Buffern kann es sich um jede Art von Buffer handeln, also Vertexbuffer, Indexbuffer oder auch TextureBuffer (mit '''ARB_texture_buffer_object'''). Das ganze ist also eine Alternative zum FramebufferObject, mit dem Vorteil das man via GL_RASTERIZER_DISCARD_NV den Pixelshader komplett abschalten kann. Außerdem darf man verschiedene Datentypen gleichzeitig schreiben, also z.B. FLOATs und INTs gleichzeitig, wobei man natürlich '''EXT_texture_integer''' braucht. Das ganze ist ein Feature von ShaderModel 4.0, in DirectX10 heißt das &amp;quot;StreamOut&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Was ich nun anmerken will ist, dass wenn man Transform-Feedback benutzt, der Ziel-Buffer nach Möglichkeit das Usage-Flag auf GL_STATIC_DRAW haben sollte. GL_DYNAMIC_* ist unglaublich langsam, weil der Buffer (oder eine Kopie davon) dabei im Hauptspeicher liegt. Die ganze Formulierung mit dem &amp;quot;verändern&amp;quot; von Daten stammt wohl aus der Zeit als nur die CPU den Inhalt eines Buffers ändern konnte. --[[Benutzer:Coolcat|Coolcat]] 13:14, 17. Jan. 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Coolcat</name></author>	</entry>

	</feed>