Creating a scene graph for an Unreal T3D Map

Started by
4 comments, last by Zemedelec 18 years, 5 months ago
How would I go about making a scene graph (Octree, BSP etc) for an Unreal T3D map? What I mean by that is that the map file (in my loader) only contains -Vertices -Normal -Binormal -Tangent For EACH polygon. From this, how would I go about creating a visibility testing system? Thanks :) Update: I've started on octrees. So far I have partitioned the map and split the map up into nodes in the tree. Is octrees the best method to use? [Edited by - CadeF on November 3, 2005 5:12:16 AM]
Advertisement
Quote:Original post by CadeF
How would I go about making a scene graph (Octree, BSP etc) for an Unreal T3D map? What I mean by that is that the map file (in my loader) only contains

-Vertices
-Normal
-Binormal
-Tangent

For EACH polygon.

From this, how would I go about creating a visibility testing system?

Thanks :)

Update: I've started on octrees. So far I have partitioned the map and split the map up into nodes in the tree. Is octrees the best method to use?


Compute a PVS for the level.
Enclose all vertices with a AABB, then subdivide it with regular grid, where cell size is large enough to represent average room in your environment (say 5x5x5 meters).
Then for each cell, render the whole level, giving unique colors for all other grid cells, read back front buffer and see what cells are visible from the one you render. PVS!
Thanks, but I'm using quadtree instead. I've already got it implemented and it's pretty fast. I'm not splitting polygons that exist in more than 1 node, but letting that polygon exist in both nodes.

Looking at a wall with a lot of stuff behind it - 250 FPS
Nudging the camera a bit left, so all the stuff behind it is visible - 100 FPS

It works pretty efficiently. :)
Quote:Original post by CadeF
Thanks, but I'm using quadtree instead. I've already got it implemented and it's pretty fast. I'm not splitting polygons that exist in more than 1 node, but letting that polygon exist in both nodes.

Looking at a wall with a lot of stuff behind it - 250 FPS
Nudging the camera a bit left, so all the stuff behind it is visible - 100 FPS

It works pretty efficiently. :)


But this is only frustum culling.
And it can work well, on polycounts of a regular Unreal maps, with front-to back z-only pass especially.
But when you put objects in this level, and having only frustum culling, you'll face large amount of 'visible' objects.
That's why occlusion culling is important for indoor engines (even if we forget for a moment about the insane overdraw).
Yes, this is occlusion culling, think about it. I'm looking at a wall. On it's other side, there are lots of things. I nudge the camera to the left of the wall and those things are rendered.
Quote:Original post by CadeF
Yes, this is occlusion culling, think about it. I'm looking at a wall. On it's other side, there are lots of things. I nudge the camera to the left of the wall and those things are rendered.


...
So? :)

This topic is closed to new replies.

Advertisement