unknown
1970-01-01 00:00:00 UTC
Then I tried to find where the shadow code is happening..
I put a breakpoint in every function in OSGShadowTreeHandler.cpp without
success.
I also tried each render function from all the other files in the same
folder without success.
That's odd, one of the classes derived from ShadowTreeHandler (i.e. theI put a breakpoint in every function in OSGShadowTreeHandler.cpp without
success.
I also tried each render function from all the other files in the same
folder without success.
one implementing the selected mode) should have its render function called.
Can you set a breakpoint on ShadowStage::renderEnter to check if its
visited when the RenderAction traverses the scene?
Where should the magic happen? I tried to follow the render action step
by step.. but soon gave up :/ ..perhapst knowing at what point in time
the shadows are done might help, I mean if it is after the render action
goes through all the nodes once? or when entering the light node? etc..
There are a couple of steps involved:by step.. but soon gave up :/ ..perhapst knowing at what point in time
the shadows are done might help, I mean if it is after the render action
goes through all the nodes once? or when entering the light node? etc..
1) The RenderAction traverses the tree and collects things to render
(into a RenderPartition; essentially a render pass).
2) Traversal arrives at the ShadowStage which builds a number of
additional RenderPartitions (for rendering the shadow maps, for
combining shadow maps into the shadow factor map, for applying the
shadow map factor map to the scene). This process of setting up
RenderPartitions is done by the ShadowTreeHandlers.
3) RenderPartitions are being processed (RenderPartition::execute) and
the actual OpenGL rendering of the collected nodes happens, so here the
various maps are being rendered and combined.
Cheers,
Carsten