Built in Occlusion ...

Blitz3D Forums/Blitz3D Programming/Built in Occlusion ...

Codemonger(Posted 2003) [#1]
Does anyone know what kind of built in occlusion or scene management blitz basic has internally ?

The reason I am asking is because I am a speed optimization freak . My initial guess is that it uses a simple scene heirarchy check to see if an entity is in the FOV, then surfaces etc.. But i'm still not sure, I would like to do my own optimizations but I do not want to do the same functions that blitz is doing internally for scene management.

Thanks


jhocking(Posted 2003) [#2]
I don't think it checks surfaces. I'm pretty sure the frustrum/FOV culling is just based on entities. That is, if any part of an object is in front of the camera then the entire object is rendered.


Mustang(Posted 2003) [#3]
I think so too (what Joe says).

So if you have a very big indoor space, say aircraft hangar, I think it would be best to separate it to logical portions like floor, ceiling, walls... basically making big lumps that are seen when you look at that way, and not when when you turn for example 90 deg.

So for example opposite walls should be separate objects because you can't see them both at the same time and most often the same goes for floor and ceiling. This chopping of course increases the number of objects (surfaces) but it still makes everything faster, IF you have enough polys on those separate objects (so that the culling would have any "speed up" effect).

IMO if a room has max 2K polys it is not worth chopping at all... modern hardware does NOT care if it has to render 200 or 2000 polygons if they are same surface. Bigger than that and you'll start to see the hit.

But optimization is hard because it depends also greatly from the hardware used to render the 3D, Voodoo and Radeon9700 don't behave same way... best advice would be that you should try and experiment different ways yourself.


Codemonger(Posted 2003) [#4]
Thanks guys ... I'll try some optimization tests tonight and see what I come up with ... I am writing a 3D version of my current game X-Hex ,www.X-Hex.com,(which was written in VB using Direct X 7). I wrote a hybrid 2d/3d engine to run it .. But I am trying to convert it over to blitz and I already created the board ... it runs really fast ... next I will have to crunch the numbers on placing balls whether I will use a billboard or a real 3d ball(which I already tested, and successfully got over 1200 billboards running smooth on the screen with the game board on a 400 mhz computer) ... But I would like to make them 3d.

It sounds like a lot of balls and a lot of polys, but I think their are some tricks to display a huge amount of polys using no texture and colored vertices ... the origianl games just uses sprites. Anyway I'll see how much polys I can push and maybe a LOD system ... hmmm


Neochrome(Posted 2003) [#5]
nice game, but its a very long level!!

VB isn't easy for DX-ing stuff!! nice job

Blitz Will be much MUCH easier!


Codemonger(Posted 2003) [#6]
Thanks! yeah VB is not very easy at all for DX stuff... Blitz is about 100 times easier ... Anyway I'm hoping to add network play/ a story line and some great 3d effects with more weapons etc ..