ZFX
ZFX Neu
Home
Community
Neueste Posts
Chat
FAQ
IOTW
Tutorials
Bücher
zfxCON
ZFXCE
Mathlib
ASSIMP
NES
Wir über uns
Impressum
Regeln
Suchen
Mitgliederliste
Membername:
Passwort:
Besucher:
4442161
Jetzt (Chat):
16 (0)
Mitglieder:
5239
Themen:
24223
Nachrichten:
234554
Neuestes Mitglied:
-insane-

ZFX
Coding-Foren
Algorithmen und Datenstrukturen
Re: Octree
Normal
AutorThema
mastervc Offline
ZFX'ler


Registriert seit:
29.03.2002

Deutschland
OctreeNach oben.
Hallo !

Hat hier jemand mal ein paar Infos zu Octree ? Hab schon auf Flipcode und Gamedev.net gesucht aber nichts zum Thema erstellung gefunden :/

Mir ist klar man muss 3D Würfel erstellen und halt immer 8 Stück davon. Aber wie ?

Hat jemand gute Links zu Papers oder vielleicht sogar Source ?

Thx

ps. Falls es welche Wissen wollen, ich brauch Octree für ne Terrain + Häuser kombi ..... is schwer zu erklären aber wenn das so geht wie ich mir das vorstelle sollte das ab Radeon 9800 Pro ordentlich laufen *g* (scherz).

06.07.2003, 02:24:36 Uhr
trooper Offline
ZFX'ler


Registriert seit:
05.01.2003

Österreich
346186389 stefan_besler@gmx.at
Re: OctreeNach oben.
Hi!
Auf http://gametutorials.com gibts Tutorials für Octrees.
Wenn du willst kann ich dir auch meinen Source schicken (hat zwar noch ein paar fehler, siehe OpenGL Forum Löcher in Octree ) aber zumindest der ansatz passt denke ich.
06.07.2003, 12:02:48 Uhr
imtane
mastervc Offline
ZFX'ler


Registriert seit:
29.03.2002

Deutschland
Re: OctreeNach oben.
Ich glaub ich hab da ein kleines Problem mit den Häusern entdeckt

Kann man irgendwie den View Frustum wenn ein Objekt im Weg ist so weg schneiden das er nur noch da ist wo leerer Raum ist ?

Also wenn man vor ner Wand steht dann der View Frustum vor der Wand noch existiert und danach nicht mehr ?

So könnte man nämlich Häuser und Terrain ohne BSP kombinieren. Nur weiss ich nich wie ich das anstellen soll :/

Jemand ne Idee ?

thx

cya
06.07.2003, 15:04:27 Uhr
mastervc Offline
ZFX'ler


Registriert seit:
29.03.2002

Deutschland
Re: OctreeNach oben.
Ah ne bessere Idee hab, ich muss ja Octree-Nodes die nicht im Frustum liegen nicht render und deren Kinder auch nicht
(hmm .... könnt manchmal was komisch bei rauskommen oder ?)
06.07.2003, 15:27:57 Uhr
ChrisM Offline
ZFX'ler


Registriert seit:
16.03.2002

Rheinland Pfalz
65348179
Re: OctreeNach oben.
Wenn ein Node im Frustum liegt, musst du alle Childs auf Sichtbarkeit prüfen (und wenn ein Child drinliegt, prüft das auch seine Childs usw. -> Rekursion). Wenn der Node ein Leaf ist, schickst du den ganzen Leaf zum Rendern ab.

Wenn aber ein Node nicht im Frustum ist, kannst du mit Sicherheit sagen, dass alle 8 Childs dieses Nodes garantiert nicht im Frustum liegen und damit auch nicht die Childs der Childs usw., also auch nicht die Leafs.

Also etwa so:
Code:
class Node
{
public:
void Render(void) const;

private:
Node m_pNodes[8];
void *m_pData;
};

void Node::Render(void) const
{
if (!IsVisible())
return;

if (m_pData)
Render(m_pData);
else
{
for (unsigned int i = 0; i < 7; ++i)
m_pNodes[i].Render();
}
}


Also ganz einfach...

ChrisM
06.07.2003, 15:42:22 Uhr
ChrisMs Baustelle
mastervc Offline
ZFX'ler


Registriert seit:
29.03.2002

Deutschland
Re: OctreeNach oben.
Joa werds dann mal probieren

Oder weiss jemand was besseres für Terrain + Häuser ?
06.07.2003, 16:04:56 Uhr
xcvb Offline
ZFX'ler


Registriert seit:
09.06.2002

Deutschland
Re: OctreeNach oben.
Zitat:
Wenn ein Node im Frustum liegt, musst du alle Childs auf Sichtbarkeit prüfen (und wenn ein Child drinliegt, prüft das auch seine Childs usw. -> Rekursion).


unnötig! liegt ein node vollständig innerhalb des view frustum (vf), so liegen auch alle childs innerhalb des vf. d.h. nur nodes die den vf schneiden müssen rekursiv weiter getestet werden.

Zitat:
Oder weiss jemand was besseres für Terrain + Häuser ?


das ist relativ.

wenn die häuser klein und eher weit über die karte verteilt sind, würde ich evtl. das terrain in einem quadtree organisieren und die häuser der quadtreenode zuordnen, auf der sie stehen. bei kleinen häusern braucht man die einzelnen häuser nicht weiter zu unterteilen.

bei sehr ausgedehnter innenarchitektur, kann man die von außen sichtbaren teile (meist ein sehr kleiner teil) den terrain nodes zuordnen. für den rest bedient man sich einer erprobten indoortechnik (bsp, portale), die man durch geschickt platzierte portale mit dem outdooteil verbindet. der vorteil gegenüber z.b. einem octree ohne sichtbarkeitstest ist das einfach aussortieren der "innereien" der architektur, die man von außen sowieso nicht sieht. bei einer gesamtansicht des gebäudes von außen sieht man also nur die "hülle" und vielleicht die ersten räume hinter den eingängen, alles weitere bleibt verborgen. in einem klassischen octree wäre das nicht möglich.
06.07.2003, 16:22:52 Uhr
Linksammlung
mastervc Offline
ZFX'ler


Registriert seit:
29.03.2002

Deutschland
Re: OctreeNach oben.
Kann ich ja gleich BSP verwenden oder macht das mit Terrain probleme ?

Oder kann mir einer das mit dem CSG erklären.

???

cya
06.07.2003, 17:12:06 Uhr
mastervc Offline
ZFX'ler


Registriert seit:
29.03.2002

Deutschland
Re: OctreeNach oben.
Hier mal ein Bild wie ich mir das vorstelle, vielleicht gibts darüber ja unklarheiten.

http://www.redwater.de/octree.jpg

cya
06.07.2003, 19:09:01 Uhr
Normal


ZFX Community Software, Version 0.9.1
Copyright 2002-2003 by Steffen Engel