41 #ifndef CXTEXTURESLICEPAINTER_H_
42 #define CXTEXTURESLICEPAINTER_H_
44 #include "cxResourceVisualizationExport.h"
46 #include <boost/shared_ptr.hpp>
47 #include <vtkOpenGLRepresentationPainter.h>
52 class vtkOpenGLRenderWindow;
53 class vtkUniformVariables;
76 void SetColorAttribute(
float window,
float level,
float llr,
float alpha);
77 void initializeRendering();
78 void setUniformiArray(vtkUniformVariables* uniforms, QString name,
int val);
79 void setUniformfArray(vtkUniformVariables* uniforms, QString name,
float val);
80 void eachRenderInternal(vtkSmartPointer<vtkShaderProgram2> shader);
98 virtual void ReleaseGraphicsResources(vtkWindow *);
99 void PrintSelf(ostream& os, vtkIndent indent);
101 void setShaderPath(QString path);
102 void SetColorAttribute(
int index,
float window,
float level,
float llr,
float alpha);
105 void releaseGraphicsResources(
int index);
107 static bool LoadRequiredExtensions(vtkOpenGLExtensionManager* mgr);
112 virtual void PrepareForRendering(vtkRenderer*, vtkActor*);
113 void RenderInternal(vtkRenderer* renderer, vtkActor* actor,
unsigned long typeflags,
bool forceCompileOnly);
114 bool CanRender(vtkRenderer*, vtkActor*);
115 static bool LoadRequiredExtension(vtkOpenGLExtensionManager* mgr, QString
id);
116 void ClearGraphicsResources();
119 QString loadShaderFile();
120 void buildProgram(QString shaderSource, vtkOpenGLRenderWindow* renderWindow);
122 QString replaceShaderSourceMacros(QString shaderSource);
124 bool hasLoadedExtensions;
127 vtkWeakPointer<vtkRenderWindow> LastContext;
128 vtkSmartPointer<vtkShaderProgram2> Shader;
129 std::vector<SingleVolumePainterHelper> mElement;
Helper class for GPU rendering of slices.
boost::shared_ptr< class GPUImageDataBuffer > GPUImageDataBufferPtr
boost::shared_ptr< class GPUImageLutBuffer > GPUImageLutBufferPtr