[vtkusers] Multi-threaded VTK

Chris Volpe ARA/SED cvolpe at ara.com
Wed Jun 22 12:27:13 EDT 2011


I'm trying to have an application that drives scene content change on its own, while still allowing the user to manipulate the scene with vtkRenderWindowInteractor. The approach I'm trying to use is to have the vtkRenderWindowInteractor run in a background thread, with some concurrency protection to keep it from invoking the rendering pipeline at the same time the main thread tries to do so. My application main thread creates all the vtk objects (actor, render window, renderer, interactor), registers a couple of callbacks for the interactor style's StartInteractionEvent and EndInteractionEvent which lock and unlock a vtkCriticalSection, respectively, and then spawns a background thread in which the interactor is started. The main thread then, periodically, locks the critical section, makes scene changes, renders, and unlocks the critical section.

Although this approach seems sound in principle, I'm encountering corruption that leads me to believe that there is some kind of pipeline manipulation occurring before processing the StartInteractionEvent that is conflicting with what I'm doing in my main thread. Can someone with detailed knowledge of pipeline bowels provide some insight as to what might be going on, and perhaps provide an alternate course of action?

Thanks,

Chris
--
Christopher R. Volpe, Ph.D.                                                           Email: cvolpe at ara.com<mailto:cvolpe at ara.com>
Senior Scientist, Information Exploitation Systems             Main Desk: 919-582-3300
Applied Research Associates, Inc<http://www.ara.com/>                                                     Direct: 919-582-3380
8537 Six Forks Rd., Suite 6000                                                            Fax : 919-582-3301
Raleigh, NC 27615                                         Web: http://www.ara.com/offices/NC.htm


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20110622/fe9c45c7/attachment.htm>


More information about the vtkusers mailing list