Hello,
I'm working on an application, which uses OSG for rendering. I would
like to implement a new rendering system, which would incorporate
occlusion culling using occlusion queries. I know how the system should
work, but I'm not sure how to do it in OSG (I'm not that experienced
user of OSG yet). I would like to know how right or wrong I am with
the following thinking:

First problem is that the OSG renderer is build upon an idea that
a frame should work like
{
  culling;
  rendering;
}

, however in my case it's more like
{
   while (!done} {
      cull;
      render_auxiliary_objects;
      if (!culled)
         render actual objects;
   }
}

so it looks like I will have to implement own
RenderBin::_drawCallback::drawImplementation, am I right?
Furthermore, I will need to add a spatial organization based on
axis-aligned BSP tree (or octree or something like that) and remove
state-sorting somehow (probably using some flag, this should be easy
I think).

I don't know how to do any of these yet, but right now I am most puzzled
about the spatial organization of objects. And whats worse - each object has some culling information stored from the previous frames and that
information is camera dependent.
So, thinking of a best solution, it is probably difficult to implement
it as a some kind of a plg-in module, which can be added to any
application and activated with a sigle Init() function.

Sorry for such a long post. I would be grateful for any pointer anyone could give me. (Especially if anyone made something similar :) )

Thanks,
Vit
_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to