Thanks Paul,

Those questions were indeed closely related. Yet since I'm not planing to
use slave cameras for the moment I guess I'm better of with my "node
cullcallback to update uniforms", at least I will try that.

Cheers,
Manu.


2010/1/29 Paul Martz <pma...@skew-matrix.com>

> I recommend you search the archives for the recent thread "Uniform per
> slave Camera". Several solutions, including the solution I eventually used,
> are discussed in that thread.
>
> Paul Martz
> Skew Matrix Software LLC
> _http://www.skew-matrix.com_ <http://www.skew-matrix.com/>
> +1 303 859 9466
>
>
>
> Emmanuel Roche wrote:
>
>> Hi everyone,
>>
>> I'm facing a problem I cannot solve by myself here, I thought I could just
>> ask:
>>
>> - I have a scene (so a scene graph)
>> - I use multiple View on this single scene
>>
>> --> Currently I have an "homemade" mixture of customized osgViewer::Viewer
>> objects to deal with everything so basically, for each View, I go through a
>> complete (EventTraversal(), UpdateTraversal(), RenderingTraversals() ) loop
>> sequentially.
>>
>> - Now I would like to switch to a CompositeViewer and thus go through the
>> event/update traversals only once per Scene (If I understand the
>> CompositeViewer design properly).
>>
>> But I have a very specific problem to solve here:
>>
>> In my scene graph I use shaders and uniforms. those uniforms have update
>> callbacks, and in those update callbacks, I retrieve my currently rendering
>> View and then the View matrix to generate eye coordinates.
>>
>> --> I assume using the osg_ViewMatrix uniform is not an option for me
>> because I need to convert very big position vector and very big view matrix
>> translation, and I would clearly get a problem here if I don't have double
>> precision.
>> --> With the CompositeViewer I can't access the individual "View" anymore
>> in the update traversal() since this process is "View agnostic" I would say.
>>
>>
>> --> Since my views will need different settings for the uniforms, I was
>> thinking I would just need to do something in the cull traversal, but here I
>> realized something which seems strange to me: there is no such method as
>> uniform::setCullCallback(...)
>>
>> So, the question is, how would you update your uniforms properly in that
>> case ?
>>
>> I mean, I could still put a cullcallback on the node owning the stateset
>> containing the uniform for instance and "update" from here (assuming I can
>> retrieve the Viewmatrix I need somehow in that Cullcallback...) but is this
>> really the best option ??
>>
>> - And generally speaking, would a uniform::setCullCallback() not make
>> sense for some reason I'm apparently missing for now ?
>>
>> Bonus question by the way: How would I access the "master camera"
>> ViewMatrix in a cullcallback ? i've seen we have
>> osgUtil::CullVisitor::getCurrentCamera() but would this return the Master
>> camera of the View or just the current camera in the scene graph (as I use
>> DepthPartitionNode I have many sub cameras in my scene...)
>>
>> Thanks in advance is someone has any tip/advise/complete solution on those
>> questions!
>>
>> Regards,
>> Manu.
>>
>>
>> ------------------------------------------------------------------------
>>
>>
>> _______________________________________________
>> osg-users mailing list
>> osg-users@lists.openscenegraph.org
>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>
> _______________________________________________
> osg-users mailing list
> osg-users@lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to