Hi Harris, On 25. Apr 2014, at 8:02, cpapado <[email protected]> wrote:
> At each frame, the scene graph calculates clipping planes for the scene that > I'd like to distribute to the render nodes so that the visuals are > consistent. From my experience with EQ, I can figure out the following ways > to distribute that information: > > 1) The Config grabs the AppNode pointer, grabs its Pipe, then the Window and > gets the scene-graph related information that way. Am I correct to assume > that there needs to be synchronization here or does the AppNode's rendering > run on the same thread as the Config? Yes, the render threads are distinct from the main (node/config) thread. You are not guaranteed to have a render thread on the appNode. Depending on your thread model, you are however guaranteed to have a quiet time between frameFinish()...frameStart(). > 2) Every Node checks to see if it is the AppNode and the correct one > distributes the relevant information through the shared frame data object. > This would necessitate that the Config actually syncs changes to the shared > FrameData object rather than just assume that it is always holding the > master copy. Yes, I recommend either using events for this back channel or reading the chapter on slave object commits carefully. > > 3) Similar to above, every Node checks to see if it is the AppNode and the > correct one grabs the clipping plane information and then sends it back to > the Config via a custom message. This one seems to be the cleanest so far. What about: 4) Each node calculates the clipping plane independently using an algorithm which derives the same result on all nodes 5) The application main thread has an (potentially incomplete) copy of the scene graph, calculates and distributes the information. All nodes sync it to their version. HTH, Stefan.
signature.asc
Description: Message signed with OpenPGP using GPGMail
_______________________________________________ eq-dev mailing list [email protected] http://www.equalizergraphics.com/cgi-bin/mailman/listinfo/eq-dev http://www.equalizergraphics.com

