HowTo: preRender, postRender?

Hey!
I’m currently writing a distributed virtual world. The clients of that world should be able to render to a CAVE (Room with multiple Stereo3D walls). Each wall uses two computers (left-eye, right-eye) and you have up to 6 walls. All the computers’ rendering has to be synchronized, that means to swab their buffers at the same time.
In Java3D i used postRender (a hook called after rendering, before swabbuffers) to send a net-msg and wait for a reply.
In Xith3D i only found renderOnce, but that also swabs the buffer at the end - is there a way for finer grained rendering control, e.g. to make the renderer stop before swabbuffer?

Thanx

What you did with Java3D is a huge hack that should not have been done in the first place. If you wanted clustered rendering support then you should have made use of libraries like WireGL that masquerade as the driver underneath and do the distributed management for you. I’m surprised that you could get anything to work reliably with the way that you’ve done it, considering a lot of the flakiness of Java3D with regard to code in the pre/post render methods. For CAVE support in other libraries, see my sig.

Hi,

The option for you can be disabling automatic swap buffers in Xith3D using JOGL CanvasPeer implementation and then performing manual swap buffers call using the same class.

Another question is a refresh sync in such a system - this is a problem I was fighting when ran Xith3D in multimonitor environment (8 heads, 2x NV Quattro 4 NVS 400 PCI)

Yuri

@Mithrandir:
What i’m doing runs well, because you don’t have to transfer thousands of GL-Commands in your network (like WireGL does), but only changes of object properties (more abstract than scenegraph-objects) and the time - that’s all: so no Gigabit-Lan needed. The protocol i use for framesync is also used in a commercial CAVE developed and sold in our CG-Institute, but currently implemented in C++ and not Java.

And why is it a hack? The Java3d render-thread calls methods for rendering and some hooks, and if one hook takes a little bit longer, because it waits for network-traffic (or sth. else), the whole rendering waits, but that’s what i wanted - You can do it the way and it’s no problem!

@All:
But the question was:
Does Xith3D has hooks for controlling rendering or any other thing to prevent it from swapping buffers after renderOnce?

Thanx for your help,
hasait

Hey, thanx Yuri Vl. Gushchin :D.

My last reply was for Mithrandir and not to yours.

I will try it with the CanvasPeer and come back if it runs…

Have a nice day…