blob: 61d83a5662bdc417843cbc3e67bb4bb7a5017d19 [file] [log] [blame]
convert all leafs in octree to PvsNode, add to list pvsNodes
for (every nodeX in pvsNodes):
for (every nodeY in pvsNodes):
if (nodeX == nodeY or nodeX adjecent or intersecting nodeY):
continue
setup camera for (nodeX, nodeY)
draw every node except nodeX & nodeY
turn on occlusion query
draw nodeY as bounding box
turn off occlusion query
if (numSamples > 0): // node is visible
add nodeY to nodeX's potentially visible set
setup camera for node, sideI:
float width, height, near;
switch (sideI):
case X+
case X-
width = x extent
height = y extent
near = z extent / 2
case Y+
case Y-
width = x extent
height = z extent
near = y extent / 2
case Z+
case Z-
width = z extent
height = y extent
near = x extent / 2