VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkCompositeRGBAPass.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00033 #ifndef __vtkCompositeRGBAPass_h 00034 #define __vtkCompositeRGBAPass_h 00035 00036 #include "vtkRenderingParallelModule.h" // For export macro 00037 #include "vtkRenderPass.h" 00038 00039 class vtkMultiProcessController; 00040 00041 class vtkPixelBufferObject; 00042 class vtkTextureObject; 00043 class vtkOpenGLRenderWindow; 00044 class vtkPKdTree; 00045 00046 class VTKRENDERINGPARALLEL_EXPORT vtkCompositeRGBAPass : public vtkRenderPass 00047 { 00048 public: 00049 static vtkCompositeRGBAPass *New(); 00050 vtkTypeMacro(vtkCompositeRGBAPass,vtkRenderPass); 00051 void PrintSelf(ostream& os, vtkIndent indent); 00052 00055 virtual void Render(const vtkRenderState *s); 00056 00059 void ReleaseGraphicsResources(vtkWindow *w); 00060 00062 00064 vtkGetObjectMacro(Controller,vtkMultiProcessController); 00065 virtual void SetController(vtkMultiProcessController *controller); 00067 00069 00071 vtkGetObjectMacro(Kdtree,vtkPKdTree); 00072 virtual void SetKdtree(vtkPKdTree *kdtree); 00074 00076 bool IsSupported(vtkOpenGLRenderWindow *context); 00077 00078 protected: 00080 vtkCompositeRGBAPass(); 00081 00083 virtual ~vtkCompositeRGBAPass(); 00084 00085 vtkMultiProcessController *Controller; 00086 vtkPKdTree *Kdtree; 00087 00088 vtkPixelBufferObject *PBO; 00089 vtkTextureObject *RGBATexture; 00090 vtkTextureObject *RootTexture; 00091 float *RawRGBABuffer; 00092 size_t RawRGBABufferSize; 00093 00094 private: 00095 vtkCompositeRGBAPass(const vtkCompositeRGBAPass&); // Not implemented. 00096 void operator=(const vtkCompositeRGBAPass&); // Not implemented. 00097 }; 00098 00099 #endif