24 #ifndef vtkPSurfaceLICComposite_h
25 #define vtkPSurfaceLICComposite_h
27 #include "vtkSurfaceLICComposite.h"
29 #include "vtkOpenGLRenderWindow.h"
30 #include "vtkRenderingParallelLICModule.h"
43 class vtkPPixelExtentOps;
109 double EstimateCommunicationCost(
110 const std::deque<std::deque<vtkPixelExtent> > &srcExts,
111 const std::deque<std::deque<vtkPixelExtent> > &destExts);
117 double EstimateDecompEfficiency(
118 const std::deque< std::deque<vtkPixelExtent> > &exts,
119 const std::deque< std::deque<vtkPixelExtent> > &guardExts);
124 int DecomposeScreenExtent(
125 std::deque< std::deque<vtkPixelExtent> >&newExts,
134 std::list<vtkPixelExtent> &out);
145 const std::deque< std::deque< vtkPixelExtent> > &in,
146 std::deque< std::deque< vtkPixelExtent> > &out,
152 int MakeDecompLocallyDisjoint(
153 const std::deque< std::deque< vtkPixelExtent> > &in,
154 std::deque< std::deque< vtkPixelExtent> > &out);
162 int AllGatherExtents(
163 const std::deque<vtkPixelExtent> &localExts,
164 std::deque<std::deque<vtkPixelExtent> > &remoteExts,
170 int AllReduceVectorMax(
171 const std::deque<vtkPixelExtent> &originalExts,
172 const std::deque<std::deque<vtkPixelExtent> > &newExts,
180 const std::deque<std::deque<vtkPixelExtent> > &exts,
181 std::deque<std::deque<vtkPixelExtent> > &guardExts,
182 std::deque<std::deque<vtkPixelExtent> > &disjointGuardExts,
188 vtkPPixelExtentOps *PixelOps;
201 std::deque<vtkPPixelTransfer> GatherProgram;
202 std::deque<vtkPPixelTransfer> ScatterProgram;
204 friend VTKRENDERINGPARALLELLIC_EXPORT
211 VTKRENDERINGPARALLELLIC_EXPORT
static vtkSurfaceLICComposite * New()
VTKRENDERINGPARALLELLIC_EXPORT ostream & operator<<(ostream &os, vtkPSurfaceLICComposite &ss)
friend ostream & operator<<(ostream &os, vtkSurfaceLICComposite &ss)
dynamic, self-adjusting array of float
virtual vtkOpenGLRenderWindow * GetContext()
virtual void SetCommunicator(vtkPainterCommunicator *)
virtual int Gather(void *, int, int, vtkTextureObject *&)
virtual void PrintSelf(ostream &os, vtkIndent indent)
a simple class to control print indentation
virtual void SetContext(vtkOpenGLRenderWindow *)
int AddGuardPixels(const std::deque< vtkPixelExtent > &exts, std::deque< vtkPixelExtent > &guardExts, std::deque< vtkPixelExtent > &disjointGuardExts, float *vectors)
static int MakeDecompDisjoint(std::deque< vtkPixelExtent > &in, std::deque< vtkPixelExtent > &out)
abstracts an OpenGL texture object.
create a window for renderers to draw into
virtual int Scatter(void *, int, int, vtkTextureObject *&)
virtual int BuildProgram(float *)
Interface to OpenGL framebuffer object.