118 #ifndef vtkOpenGLHAVSVolumeMapper_h
119 #define vtkOpenGLHAVSVolumeMapper_h
121 #include "vtkRenderingVolumeOpenGLModule.h"
153 void SetGPUDataStructures(
bool) VTK_OVERRIDE;
161 bool SupportedByHardware(
vtkRenderer *r) VTK_OVERRIDE;
165 ~vtkOpenGLHAVSVolumeMapper() VTK_OVERRIDE;
169 virtual
void InitializeLookupTables(
vtkVolume *vol);
170 void InitializeGPUDataStructures();
171 void InitializeShaders();
172 void DeleteShaders();
173 void InitializeFramebufferObject();
176 void SetupFBOZBuffer(
int screenWidth,
int screenHeight,
float depthNear,
float depthFar,
179 void DrawFBOInit(
int screenWidth,
int screenHeight,
float depthNear,
float depthFar);
180 void DrawFBOGeometry();
181 void DrawFBOFlush(
int screenWidth,
int screenHeight,
float depthNear,
float depthFar);
182 void DrawBlend(
int screenWidth,
int screenHeight,
float depthNear,
float depthFar);
184 void CheckOpenGLError(const
char *str);
187 unsigned int VBOVertexName;
188 unsigned int VBOTexCoordName;
189 unsigned int VBOVertexIndexName;
190 unsigned int VertexProgram;
191 unsigned int FragmentProgramBegin;
192 unsigned int FragmentProgram;
193 unsigned int FragmentProgramEnd;
194 unsigned int FramebufferObject;
195 int FramebufferObjectSize;
196 unsigned int FramebufferTextures[4];
197 unsigned int DepthTexture;
200 unsigned int PsiTableTexture;
201 unsigned int TransferFunctionTexture;
206 vtkOpenGLHAVSVolumeMapper(const vtkOpenGLHAVSVolumeMapper&) VTK_DELETE_FUNCTION;
207 void operator=(const vtkOpenGLHAVSVolumeMapper&) VTK_DELETE_FUNCTION;
represents a volume (data & properties) in a rendered scene
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
abstract specification for renderers
static vtkHAVSVolumeMapper * New()
void Render(vtkRenderer *ren, vtkVolume *vol) override=0
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERI...
void ReleaseGraphicsResources(vtkWindow *) override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Release any graphics resources that are being...
window superclass for vtkRenderWindow
a simple class to control print indentation
a weak reference to a vtkObject.
vtkWeakPointer< vtkRenderWindow > RenderWindow
create a window for renderers to draw into
Hardware-Assisted Visibility Sorting unstructured grid mapper, OpenGL implementation.
Hardware-Assisted Visibility Sorting unstructured grid mapper.