<?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=Szenengraph</id>
		<title>Szenengraph - Versionsgeschichte</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.delphigl.com/index.php?action=history&amp;feed=atom&amp;title=Szenengraph"/>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=Szenengraph&amp;action=history"/>
		<updated>2026-04-21T09:29:51Z</updated>
		<subtitle>Versionsgeschichte dieser Seite in DGL Wiki</subtitle>
		<generator>MediaWiki 1.27.4</generator>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=Szenengraph&amp;diff=15973&amp;oldid=prev</id>
		<title>Dj3hut1: /* Link Bounding Sphere und Bounding Box */</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=Szenengraph&amp;diff=15973&amp;oldid=prev"/>
				<updated>2005-12-30T19:22:43Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Link Bounding Sphere und Bounding Box&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 30. Dezember 2005, 19: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-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;div&gt;*Jedes komplexe Objekt (Level) muss einen [[BSP-Bäume|BSP-Baum]] für die Kollisionsabfrage besitzen.&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;*Jedes komplexe Objekt (Level) muss einen [[BSP-Bäume|BSP-Baum]] für die Kollisionsabfrage besitzen.&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;*Jedes komplexe Objekt (Level) sollte [[Portal]]e für Sichtbarkeitsabfragen besitzen.&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;*Jedes komplexe Objekt (Level) sollte [[Portal]]e für Sichtbarkeitsabfragen besitzen.&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;*Jedes Objekt muss eine Bounding Sphere besitzen.&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;*Jedes Objekt muss eine &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Bounding_Sphere|&lt;/ins&gt;Bounding Sphere&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]] &lt;/ins&gt;besitzen.&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;*Jedes statische Objekt darf zusätzlich noch Bounding Boxes besitzen.&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;*Jedes statische Objekt darf zusätzlich noch &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Bounding_Box|&lt;/ins&gt;Bounding Boxes&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]] &lt;/ins&gt;besitzen.&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;*Jedes statische Objekt muss die Daten für [[VIPMs]] zur Verfügung stellen.&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;*Jedes statische Objekt muss die Daten für [[VIPMs]] zur Verfügung stellen.&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;*Lichtquellen dürfen nicht animiert werden.&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;*Lichtquellen dürfen nicht animiert werden.&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=Szenengraph&amp;diff=15972&amp;oldid=prev</id>
		<title>Dj3hut1: /* Link Bounding Volume */</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=Szenengraph&amp;diff=15972&amp;oldid=prev"/>
				<updated>2005-12-30T19:21:18Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Link Bounding Volume&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 30. Dezember 2005, 19: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-l40&quot; &gt;Zeile 40:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 40:&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;==Kollisionsabfragen==&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;==Kollisionsabfragen==&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 den geometrischen Änderungen einer Szene die durch Animationen entstehen sind häufig auch Kollisionsabfragen mit anderen Objekten erwünscht. Auch hier kann von der Hierarchischen Struktur eines Szenengraphen gebrauch gemacht werden, sofern das Bounding Volumen eines Knoten bekannt ist. Hier muss nur mit denjenigen Teilbäumen eine Kollisionsabfrage durchgeführt werden, wo das Bounding-Volumen des Parent Knoten eventuell das Bounding Volumen des animierten Knoten schneidet.&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 den geometrischen Änderungen einer Szene die durch Animationen entstehen sind häufig auch Kollisionsabfragen mit anderen Objekten erwünscht. Auch hier kann von der Hierarchischen Struktur eines Szenengraphen gebrauch gemacht werden, sofern das &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Bounding_Volume|&lt;/ins&gt;Bounding Volumen&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]] &lt;/ins&gt;eines Knoten bekannt ist. Hier muss nur mit denjenigen Teilbäumen eine Kollisionsabfrage durchgeführt werden, wo das &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Bounding_Volume|&lt;/ins&gt;Bounding-Volumen&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]] &lt;/ins&gt;des Parent Knoten eventuell das &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Bounding_Volume|&lt;/ins&gt;Bounding Volumen&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]] &lt;/ins&gt;des animierten Knoten schneidet.&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;=Vergleich: Grafik-[[Engine]]=&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;=Vergleich: Grafik-[[Engine]]=&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=Szenengraph&amp;diff=15971&amp;oldid=prev</id>
		<title>Dj3hut1: /* Link Bounding_Volume */</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=Szenengraph&amp;diff=15971&amp;oldid=prev"/>
				<updated>2005-12-30T19:19:36Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Link Bounding_Volume&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 30. Dezember 2005, 19:19 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-l27&quot; &gt;Zeile 27:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 27:&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;==Update des Szenengraphen==&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;==Update des Szenengraphen==&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;Wenn auf einen Knoten eine Änderung durchgeführt wird, so müssen Teilweise auch die Parent-Knoten dieses Knoten upgedatet werden. Nach welchen Änderungen welche Attribute verändert werden müssen, ist sehr stark abhängig von der Implementierung des Szenengraphen. Beispiele sind:&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;Wenn auf einen Knoten eine Änderung durchgeführt wird, so müssen Teilweise auch die Parent-Knoten dieses Knoten upgedatet werden. Nach welchen Änderungen welche Attribute verändert werden müssen, ist sehr stark abhängig von der Implementierung des Szenengraphen. Beispiele sind:&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;*Bounding Volumen der Parents updaten nach Transformation, Animation, Geometrie-Änderung, Hinzufügen oder Entfernen eines Knoten.&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;*&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Bounding_Volume|&lt;/ins&gt;Bounding Volumen&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]] &lt;/ins&gt;der Parents updaten nach Transformation, Animation, Geometrie-Änderung, Hinzufügen oder Entfernen eines Knoten.&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;*Transformation aller Childs updaten nach der Transformation eines Knoten, wenn aus Effizienzgründen zusätzlich zur Transformation relativ zum Parent auch noch die globale Transformation für jeden Knoten gespeichert wird.&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;*Transformation aller Childs updaten nach der Transformation eines Knoten, wenn aus Effizienzgründen zusätzlich zur Transformation relativ zum Parent auch noch die globale Transformation für jeden Knoten gespeichert wird.&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;*Parent Knoten ändern nach einer Transformation, wenn eine künstliche, physikalische Unterteilung der Szene beispielsweise durch einen [[Octree]] vorgenommen wird.&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;*Parent Knoten ändern nach einer Transformation, wenn eine künstliche, physikalische Unterteilung der Szene beispielsweise durch einen [[Octree]] vorgenommen wird.&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=Szenengraph&amp;diff=15970&amp;oldid=prev</id>
		<title>Dj3hut1: /* Link Bounding_Volume */</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=Szenengraph&amp;diff=15970&amp;oldid=prev"/>
				<updated>2005-12-30T19:18:04Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Link Bounding_Volume&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 30. Dezember 2005, 19:18 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-l23&quot; &gt;Zeile 23:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 23:&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;==Sichtbarkeitsabfrage==&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;==Sichtbarkeitsabfrage==&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;Um den Zeichenvorgang zu beschleunigen, kann vorher eine Sichtbarkeitsüberprüfung auf die Knoten des Szenengraphen durchgeführt werden. Dazu sollte natürlich ein Bounding Volumen für den gesamten Unterknoten vorhanden 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;Um den Zeichenvorgang zu beschleunigen, kann vorher eine Sichtbarkeitsüberprüfung auf die Knoten des Szenengraphen durchgeführt werden. Dazu sollte natürlich ein &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Bounding_Volume|&lt;/ins&gt;Bounding Volumen&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]] &lt;/ins&gt;für den gesamten Unterknoten vorhanden sein.&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;==Update des Szenengraphen==&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;==Update des Szenengraphen==&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=Szenengraph&amp;diff=15969&amp;oldid=prev</id>
		<title>Dj3hut1: /* Link Bounding Volume */</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=Szenengraph&amp;diff=15969&amp;oldid=prev"/>
				<updated>2005-12-30T19:16:36Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Link Bounding Volume&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 30. Dezember 2005, 19:16 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-l9&quot; &gt;Zeile 9:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 9:&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;*Transformation&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;*Transformation&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;*Auswahlknoten: für eine Auswahl der [[LOD|Level of Detail]] Stufe; Zustände wie Tür geöffnet oder geschlossen; ...&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;*Auswahlknoten: für eine Auswahl der [[LOD|Level of Detail]] Stufe; Zustände wie Tür geöffnet oder geschlossen; ...&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;*(Bounding-) &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Volumeninformationen&lt;/del&gt;: für (effizientere) Sichtbarkeits- und Kollisionsabfragen&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;*&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Bounding_Volume|&lt;/ins&gt;(Bounding-) &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Volumen]]informationen&lt;/ins&gt;: für (effizientere) Sichtbarkeits- und Kollisionsabfragen&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;*Lichtquelle&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;*Lichtquelle&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;*Materialeigenschaften für geometrische Objekte: ambient, diffuse, specular, emmision und shininess Komponente, sowie Textur(en)&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;*Materialeigenschaften für geometrische Objekte: ambient, diffuse, specular, emmision und shininess Komponente, sowie Textur(en)&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=Szenengraph&amp;diff=12960&amp;oldid=prev</id>
		<title>La Boda am 31. August 2005 um 09:27 Uhr</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=Szenengraph&amp;diff=12960&amp;oldid=prev"/>
				<updated>2005-08-31T09:27:06Z</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 31. August 2005, 09:27 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;−&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;Ein Szenengraph ist ganz allgemein gesagt eine &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Datestruktur &lt;/del&gt;welche graphische Elemente einer virtuellen Welt beinhaltet. Die einfachste Form eines Szenengraphen ist eine Liste oder ein Array von Objekten.&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;Ein Szenengraph ist ganz allgemein gesagt eine &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Datenstruktur, &lt;/ins&gt;welche graphische Elemente einer virtuellen Welt beinhaltet. Die einfachste Form eines Szenengraphen ist eine Liste oder ein Array von Objekten.&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;=Definition und Aufbau=&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;=Definition und Aufbau=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>La Boda</name></author>	</entry>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=Szenengraph&amp;diff=9249&amp;oldid=prev</id>
		<title>212.241.69.37: /* Grafik-Engines */</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=Szenengraph&amp;diff=9249&amp;oldid=prev"/>
				<updated>2005-06-19T01:01:55Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Grafik-&lt;a href=&quot;/index.php/Engine&quot; title=&quot;Engine&quot;&gt;Engines&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 19. Juni 2005, 01:01 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-l42&quot; &gt;Zeile 42:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 42:&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;Bei den geometrischen Änderungen einer Szene die durch Animationen entstehen sind häufig auch Kollisionsabfragen mit anderen Objekten erwünscht. Auch hier kann von der Hierarchischen Struktur eines Szenengraphen gebrauch gemacht werden, sofern das Bounding Volumen eines Knoten bekannt ist. Hier muss nur mit denjenigen Teilbäumen eine Kollisionsabfrage durchgeführt werden, wo das Bounding-Volumen des Parent Knoten eventuell das Bounding Volumen des animierten Knoten schneidet.&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;Bei den geometrischen Änderungen einer Szene die durch Animationen entstehen sind häufig auch Kollisionsabfragen mit anderen Objekten erwünscht. Auch hier kann von der Hierarchischen Struktur eines Szenengraphen gebrauch gemacht werden, sofern das Bounding Volumen eines Knoten bekannt ist. Hier muss nur mit denjenigen Teilbäumen eine Kollisionsabfrage durchgeführt werden, wo das Bounding-Volumen des Parent Knoten eventuell das Bounding Volumen des animierten Knoten schneidet.&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;=Grafik-[[Engine]]&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;s&lt;/del&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;=&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Vergleich: &lt;/ins&gt;Grafik-[[Engine]]=&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;Szenengraphen sind üblicherweise sehr allgemein gehalten, und überlassen die Einteilung der Szene großteils dem Anwender. Dadurch erhält der Anwender zwar mehr Möglichkeiten zur Optimierung, jedoch auch mehr Verantwortung. Nahezu jede Grafik-[[Engine]] besteht aus einem Szenengraphen von dem der Anwender jedoch verhältnismäßig wenig sieht. Durch die großteils automatisierte Erstellung des Szenengraphen können zusätzliche Regeln für den Aufbau des Graphen festgelegt werden, wodurch die verschiedenen Operationen auf den Szenengraphen leichter optimiert werden können. Beispiele für solche Regeln sind:&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;Szenengraphen sind üblicherweise sehr allgemein gehalten, und überlassen die Einteilung der Szene großteils dem Anwender. Dadurch erhält der Anwender zwar mehr Möglichkeiten zur Optimierung, jedoch auch mehr Verantwortung. Nahezu jede Grafik-[[Engine]] besteht aus einem Szenengraphen von dem der Anwender jedoch verhältnismäßig wenig sieht. Durch die großteils automatisierte Erstellung des Szenengraphen können zusätzliche Regeln für den Aufbau des Graphen festgelegt werden, wodurch die verschiedenen Operationen auf den Szenengraphen leichter optimiert werden können. Beispiele für solche Regeln sind:&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;*Die Objekte werden immer in einen [[Octree]] eingeteilt.&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 Objekte werden immer in einen [[Octree]] eingeteilt.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>212.241.69.37</name></author>	</entry>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=Szenengraph&amp;diff=7767&amp;oldid=prev</id>
		<title>212.241.69.37 am 19. Juni 2005 um 00:58 Uhr</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=Szenengraph&amp;diff=7767&amp;oldid=prev"/>
				<updated>2005-06-19T00:58:20Z</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;Ein Szenengraph ist ganz allgemein gesagt eine Datestruktur welche graphische Elemente einer virtuellen Welt beinhaltet. Die einfachste Form eines Szenengraphen ist eine Liste oder ein Array von Objekten.&lt;br /&gt;
&lt;br /&gt;
=Definition und Aufbau=&lt;br /&gt;
Üblicherweise geht man jedoch etwas weiter ins Detail und definiert Szenengraphen als eine Baumstruktur welche&lt;br /&gt;
*Azyklisch: die Struktur enthält keine Kreisverbindungen, jeder eingeschlagene Weg durch die Struktur führt also zu einem Ende.&lt;br /&gt;
*und Hierarchisch: Jeder Knoten hat maximal einen übergeordneten Knoten.&lt;br /&gt;
ist. Ein Knoten dieser Struktur kann dabei ein geometrisches Objekt beinhalten und/oder Eigenschaften für die Darstellung von Objekten. Typische Knotentypen und Eigenschaften sind:&lt;br /&gt;
*geometrisches Objekt oder Modell&lt;br /&gt;
*Transformation&lt;br /&gt;
*Auswahlknoten: für eine Auswahl der [[LOD|Level of Detail]] Stufe; Zustände wie Tür geöffnet oder geschlossen; ...&lt;br /&gt;
*(Bounding-) Volumeninformationen: für (effizientere) Sichtbarkeits- und Kollisionsabfragen&lt;br /&gt;
*Lichtquelle&lt;br /&gt;
*Materialeigenschaften für geometrische Objekte: ambient, diffuse, specular, emmision und shininess Komponente, sowie Textur(en)&lt;br /&gt;
*Gegebenenfalls auch weitere (grafische oder auch physikalische) Materialeigenschaften, unter anderem Geräuschquelle(n), Glätte, Härte, ...&lt;br /&gt;
&lt;br /&gt;
Die meisten Eigenschaften werden üblicherweise von den übergeordneten an die untergeordneten Knoten vererbt. Das bedeutet beispielsweise, dass ein Licht nur für die Knoten gültig ist, welche sich im Unterbaum des Knotens der die Lichteigenschaft besitzt befinden. Ein Gängiges Beispiel ist hier auch ein Auto, welches als gesamtes eine Position innerhalb der Welt besitzt, dessen Reifen jedoch Unterknoten des Autos mit zusätzlicher Transformation sind. Dadurch werden die Reifen des Autos an die Position des Autos innerhalb der Welt verschoben, und können zusätzlich noch eine beliebige Rotation und gegebenenfalls auch Translation in Relation zur Autoposition besitzen.&lt;br /&gt;
&lt;br /&gt;
Häufig kann der selbe Knoten oder die selbe Eigenschaft auch öfter in den Baum eingefügt werden. So könnte beim vorigen Beispiel nur ein Knoten vorhanden sein, welcher die Geometrie eines Reifen beinhaltet. Dieser Knoten könnte für alle 4 Reifen eines Autos wiederverwendet werden, nur die Transformation wird durch einen zusätzlichen übergeordneten Knoten jeweils anders definiert.&lt;br /&gt;
&lt;br /&gt;
=Operationen auf den Szenengraphen=&lt;br /&gt;
==Zeichenvorgang==&lt;br /&gt;
Die wichtigste Operation auf einen Szenengraphen ist natürlich der Zeichenvorgang. Hier wird üblicherweise der Szenengraph rekursiv durchlaufen, wobei man sich die Eigenschaften der Parent-Knoten merkt. Häufig wird für diesen Vorgang auch die OpenGL-API direkt verwendet, indem die Push/Pop Funktionalität für verschiedenste Eigenschaften verwendet wird ([[glPushMatrix]], [[glPopMatrix]], [[glPushAttrib]] und [[glPopAttrib]] sind hier die wichtigsten Funktionen). Für Zustände wo OpenGL keine Push/Pop Funktionalität bietet (beispielsweise die verwendete Textur) muss natürlich eine eigene Push/Pop Funktionalität implementiert werden. Um den Zeichenvorgang effizienter und grafisch korrekter zu machen, können auch zuerst alle Objekte gesammelt, nach ihren Render-Eigenschaften sortiert und erst dann an den Renderer geschickt werden.&lt;br /&gt;
&lt;br /&gt;
==Sichtbarkeitsabfrage==&lt;br /&gt;
Um den Zeichenvorgang zu beschleunigen, kann vorher eine Sichtbarkeitsüberprüfung auf die Knoten des Szenengraphen durchgeführt werden. Dazu sollte natürlich ein Bounding Volumen für den gesamten Unterknoten vorhanden sein.&lt;br /&gt;
&lt;br /&gt;
==Update des Szenengraphen==&lt;br /&gt;
Wenn auf einen Knoten eine Änderung durchgeführt wird, so müssen Teilweise auch die Parent-Knoten dieses Knoten upgedatet werden. Nach welchen Änderungen welche Attribute verändert werden müssen, ist sehr stark abhängig von der Implementierung des Szenengraphen. Beispiele sind:&lt;br /&gt;
*Bounding Volumen der Parents updaten nach Transformation, Animation, Geometrie-Änderung, Hinzufügen oder Entfernen eines Knoten.&lt;br /&gt;
*Transformation aller Childs updaten nach der Transformation eines Knoten, wenn aus Effizienzgründen zusätzlich zur Transformation relativ zum Parent auch noch die globale Transformation für jeden Knoten gespeichert wird.&lt;br /&gt;
*Parent Knoten ändern nach einer Transformation, wenn eine künstliche, physikalische Unterteilung der Szene beispielsweise durch einen [[Octree]] vorgenommen wird.&lt;br /&gt;
Üblicherweise wird jedoch die Transformation (welche wahrscheinlich die meisten Updates erfordert) nicht direkt geändert sondern nur die Geschwindigkeit eines Knotens/Objektes. Die Transformation wird dann durch die Animation entsprechend berechnet.&lt;br /&gt;
&lt;br /&gt;
==Animation==&lt;br /&gt;
Um in einen Szenengraphen Animationen einzubauen, sind üblicherweise die meisten Werte die für die verschiedenen Eigenschaften angegeben werden können über die Zeit parametrisierbar. Unter anderem können hier folgende Parameter abhängig von der Zeit verändert werden:&lt;br /&gt;
*Position (durch Geschwindigkeit und ggf. auch durch Beschleunigung)&lt;br /&gt;
*Intensität einer Lichtquelle&lt;br /&gt;
*Farbe von Objekten&lt;br /&gt;
*Aussehen von Objekten (Keyframe-Animation, Bone-Animation, ...)&lt;br /&gt;
&lt;br /&gt;
==Kollisionsabfragen==&lt;br /&gt;
Bei den geometrischen Änderungen einer Szene die durch Animationen entstehen sind häufig auch Kollisionsabfragen mit anderen Objekten erwünscht. Auch hier kann von der Hierarchischen Struktur eines Szenengraphen gebrauch gemacht werden, sofern das Bounding Volumen eines Knoten bekannt ist. Hier muss nur mit denjenigen Teilbäumen eine Kollisionsabfrage durchgeführt werden, wo das Bounding-Volumen des Parent Knoten eventuell das Bounding Volumen des animierten Knoten schneidet.&lt;br /&gt;
&lt;br /&gt;
=Grafik-[[Engine]]s=&lt;br /&gt;
Szenengraphen sind üblicherweise sehr allgemein gehalten, und überlassen die Einteilung der Szene großteils dem Anwender. Dadurch erhält der Anwender zwar mehr Möglichkeiten zur Optimierung, jedoch auch mehr Verantwortung. Nahezu jede Grafik-[[Engine]] besteht aus einem Szenengraphen von dem der Anwender jedoch verhältnismäßig wenig sieht. Durch die großteils automatisierte Erstellung des Szenengraphen können zusätzliche Regeln für den Aufbau des Graphen festgelegt werden, wodurch die verschiedenen Operationen auf den Szenengraphen leichter optimiert werden können. Beispiele für solche Regeln sind:&lt;br /&gt;
*Die Objekte werden immer in einen [[Octree]] eingeteilt.&lt;br /&gt;
*Jedes komplexe Objekt (Level) muss einen [[BSP-Bäume|BSP-Baum]] für die Kollisionsabfrage besitzen.&lt;br /&gt;
*Jedes komplexe Objekt (Level) sollte [[Portal]]e für Sichtbarkeitsabfragen besitzen.&lt;br /&gt;
*Jedes Objekt muss eine Bounding Sphere besitzen.&lt;br /&gt;
*Jedes statische Objekt darf zusätzlich noch Bounding Boxes besitzen.&lt;br /&gt;
*Jedes statische Objekt muss die Daten für [[VIPMs]] zur Verfügung stellen.&lt;br /&gt;
*Lichtquellen dürfen nicht animiert werden.&lt;br /&gt;
*Jedes komplexe Objekt (Level) muss [[Lightmaps]] besitzen.&lt;br /&gt;
*...&lt;br /&gt;
Natürlich sollte auch bei einer Engine jede mögliche Szene darstellbar sein, jedoch werden durch diese Regeln verschiedene Szenen besser, schlechter oder teils sogar gar nicht darstellbar, wodurch Grafik-[[Engine]]s üblicherweise viel spezialisierter als Szenengraphen sind.&lt;br /&gt;
&lt;br /&gt;
Natürlich kann man auch einen Szenengraphen implementieren, welcher verschiedene Regeln voraussetzt, oder anwendet. Alleine die unterstützten Dateiformate und Datenstrukturen geben schon gewisse Regeln vor. Aus diesem Grund ist die Frage ob eine [[Engine]] ein Szenengraph ist, oder ob eine [[Engine]] einen Szenengraphen benutzt ein Punkt über den man sich lange streiten könnte.&lt;/div&gt;</summary>
		<author><name>212.241.69.37</name></author>	</entry>

	</feed>