Carsten Neumann wrote:
>       Hello Michael,
> 
> Michael Babcock wrote:
>> I have a custom Geometry subclass where I have overridden adjustVolume. 
>> If I call invalidateVolume on this geometry my version will be called on 
>> render, but only in local mode. In a cluster mode the invalidateVolume 
>> on the client never causes adjustVolume to be called on client or server.
> 
> adjustVolume is only called if the volume is thought to be invalid and 
> then updateVolume is called. I wonder if the volume is simply considered 
> up-to-date on the servers.
> In the cluster setup, does your client render or do only the servers 
> render? If it does not render it is possible that nothing calls 
> updateVolume on the client side, can you try calling updateVolume() on 
> the root of your scene before syncing over the network?
> I'm not sure why the servers don't notice that the volume they get is 
> not valid though...

Thanks Carsten. Indeed I am only rendering on the servers. I added a 
root->updateVolume call before the window->render on the client, and 
that causes adjustVolume to be called on the client. It is still not 
called on the servers, but the client volume seems to be propagated to 
the servers because they seem to be doing frustum culling correctly now.

So while it may be nice to fix the underlying issue, this workaround is 
good for me.


------------------------------------------------------------------------------
SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
http://p.sf.net/sfu/solaris-dev2dev
_______________________________________________
Opensg-users mailing list
Opensg-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to