Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Sa Jul 05, 2025 22:02

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Octree - Logik
BeitragVerfasst: Di Sep 30, 2008 21:53 
Offline
DGL Member

Registriert: Mo Jun 30, 2008 12:47
Beiträge: 69
Ich verstehe den Sinn eines Octrees ( leider ) nicht ...

Ich nehme mal an, dass beim folgenden Bild alle graugetönten Kästchen gerendert werden ... Ich sehe jetzt aber leider den Sinn dahinter nicht ... Ich könnte auch nur einen bestimmte Winkel ausrechnen und den bis zu einer bestimmten Länge auch rendern !
http://www.flipcode.com/archives/article_introtooctrees04.jpg

Könnte es evt. so sein, dass die kleineren Kästchen, die hitner größeren sind, nicht gerendert werden ? Wenn ja, wer garantiert mir dann, dass das Objekt, das in diesem Kästchen ist, kästchenfüllend ist --> also müsste das hintere Kästchen auch sichtbar sein

:S :S :S

Fragen über Fragen :P

Danke schon mal im voraus !

MfG[/url]

_________________
...GOD is wearing black...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Sep 30, 2008 22:18 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 16, 2008 20:26
Beiträge: 158
Wohnort: Berlin
Programmiersprache: c++,c#,java,ruby,php
Also der Octree ist eine Art Baum ^^
Am Anfang hat man halt einen Zweig und testet diesen auf Sichtbarkeit.
Wenn das zutrifft, dann werden die Kindelemente/Nodes getestet und dann die Kindelemente von den Kindelementen (Rekursion, relativ schnell ;) ).
D.h. ertsmal, dass große Blöcke, welche nicht den Sichtbereich schneiden, komplett ausgelassen werden, ohne weiter im Detail diesen Zweig/Node zu betrachten.
Da der Octree vorsortiert ist, also einmal erstellt wird und sich meistens nicht mehr großartig verändert, spart man sich irgendeinen Winkel auszurechnen.
Außerdem müsstest man jedes Objekt/Mesh dann einzeln testen, ob es im Sichtbereich liegt und im Octree kann man locker mehrere Meshes/Objekte, welche in einem Zweig/Node liegen ausschließen.
Wenn man dann grob weiß, welche Bereiche sichtbar sind, kann man natürlich noch detailiertere Verfahren anwenden, und so auch Blöcke, welche weiter hinten sind, eventuell auch ausschließen. Dadurch, dass man aber nur noch einen kleinen Teil genau testet, gibt das natürlichen einen großen Performance gewinn.

Hoffe das ist einigermaßen verständlich und richtig, jedenfalls ist das meine aktuelle ansicht vom Octree ^^
mfg revolte

_________________
System: Phenom XII X4 955 3,21Ghz , GTX 560 TI, 4GB-Ram, Windows 7 64x


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 01, 2008 08:23 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Ich empfehle immer das Wiki.
http://wiki.delphigl.com/index.php/Octree
http://wiki.delphigl.com/index.php/Tutorial_Octree
Im Bild ist übrigens ein Quadtree abgebildet, Octree ist die 3D Variante.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 3 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.010s | 16 Queries | GZIP : On ]