Hi,

On Mon, 2009-06-01 at 18:41 -0500, Carsten Neumann wrote:
>       Hi Gerrit,
> 
> some background: when running vrjuggler apps a 
> PassiveWindow/PassiveViewport are used it seems juggler always activates 
> the scissor test. This confuses OpenSG somewhat (i.e. it does not know 
> about the test being on) and currently limits my shadow maps to window 
> resolution. 

Which shadowmaps are these ? I might have never tried them with a 
passive window though. Will do so to get a better idea what is 
happening.

> Part of the fix is to have PassiveViewport::isFullWindow() 
> always return false, 

Hmm, something seems odd, it looks more like the passive viewport/
passive window do not provide the correct size information to
the backend.

> but that is not enough, because in 
> RenderAction::drawBuffer, partition 0 has setupExecution() called before 
> the "child partitions" are rendered which breaks the shadow maps -- 
> there is a glPushAttrib(GL_VIEWPORT_BIT) in there, I could add 
> GL_SCISSOR_BIT, but it is annotated with Quick fix, need to check GV. 
> Can you give me a hint what I should look at specifically, e.g. what use 
> cases require the partition 0 setup early?

nearly all of them, you never now which stage is going to write into the
framebuffer. So the global framebuffer setup has to be done before
anything else. So adding the SCISSOR_BIT is in general ok. The to check
part was to see if this is the best way, an alternative would be, as for
the matrices to force stages/partitions to restore the correct state,
e.g. push/pop themselves.

> More generally: while trying to figure this out, I've noticed that the 
> viewport is not present in the partitions and they explicitly carry size 
> information around. What is the reason for this - or why can't the 
> Partition/DrawEnv have a Viewport *? 

having a Viewport is the exception rather that the rule. Nearly all of
the internal stages don't have one so in order to work nothing can
really reference a viewport. And putting a dummy Viewport in seems
overkill.

> Or was the idea to roll the 
> functionality of Viewport::activate into preRenderCallbacks on the 
> Partition? 

which part of activate is not present in the partition setup ?

I hope my engineering nightmares are over now ;) so I have more time.

Let me try to run the shadowmaps with a passive window and see what
happens.

kind regards,
  gerrit



------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises 
looking to deploy the next generation of Solaris that includes the latest 
innovations from Sun and the OpenSource community. Download a copy and 
enjoy capabilities such as Networking, Storage and Virtualization. 
Go to: http://p.sf.net/sfu/opensolaris-get
_______________________________________________
Opensg-core mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-core

Reply via email to