Theres lots of ways to do frustum culling. DBPro automatically does it for each object, but this is not good when your entire level is the same object as it will only cull things if the entire level is not in view.
The method your looking for is BSP. This splits your object into smaller pieces and cull those instead. BSP is a method to do this quickly.
To do BSP you first need to check if the entire level is either
Completely in view (draw everything)
Completely out of view (draw nothing)
Some in view and some out of view
When theres only some in view and some out of view then you cut your level into 2 parts and do the above check over again on each of those pieces. You keep chopping it down until either the chunk is completely in view or out of view. If you chop it down very far (so theres only just a few triangles per chunk), just draw the chunk anyway.
DBPro has an implementation of the above, I think its used in FPSC. However, I think you need to build the BSP tree yourself.
Like frustum culling, theres loads of ways you can do occlusion culling, one method is by using portals.
Portals split each room into individual objects. Each room has a list of rooms which it can see. For example, Room 1 can see Corridoor 1 but not Room 2. So when the player is in Room 1, Room 2 will be culled. Like BSP, there is a DBPro implentation of this too (but its slow at building portals and sometimes it can cull/not cull at the wrong times).
Your signature has been erased by a mod please reduce it to no larger than 600 x 120.