vtkOpenGLRenderer Class Reference

#include <vtkOpenGLRenderer.h>

Inheritance diagram for vtkOpenGLRenderer:

Inheritance graph
[legend]
Collaboration diagram for vtkOpenGLRenderer:

Collaboration graph
[legend]

List of all members.


Detailed Description

OpenGL renderer.

vtkOpenGLRenderer is a concrete implementation of the abstract class vtkRenderer. vtkOpenGLRenderer interfaces to the OpenGL graphics library.

Definition at line 29 of file vtkOpenGLRenderer.h.


Public Types

typedef vtkRenderer Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
void DeviceRender (void)
virtual void DeviceRenderTranslucentPolygonalGeometry ()
void ClearLights (void)
void Clear (void)
int UpdateLights (void)
int GetDepthPeelingHigherLayer ()

Static Public Member Functions

static vtkOpenGLRendererNew ()
static int IsTypeOf (const char *type)
static vtkOpenGLRendererSafeDownCast (vtkObject *o)

Protected Member Functions

 vtkOpenGLRenderer ()
 ~vtkOpenGLRenderer ()
void CheckCompilation (unsigned int fragmentShader)
virtual void DevicePickRender ()
virtual void StartPick (unsigned int pickFromSize)
virtual void UpdatePickId ()
virtual void DonePick ()
virtual unsigned int GetPickedId ()
virtual unsigned int GetNumPickedIds ()
virtual int GetPickedIds (unsigned int atMost, unsigned int *callerBuffer)
virtual double GetPickedZ ()
int RenderPeel (int layer)
int GetUseTextureUniformVariable ()
int GetTextureUniformVariable ()

Protected Attributes

int NumberOfLightsBound
class vtkGLPickInfo * PickInfo
double PickedZ
int DepthPeelingIsSupported
int DepthPeelingIsSupportedChecked
vtkOpenGLRendererLayerList * LayerList
unsigned int OpaqueLayerZ
unsigned int TransparentLayerZ
unsigned int ProgramShader
unsigned int DepthFormat
int DepthPeelingHigherLayer
int ViewportX
int ViewportY
int ViewportWidth
int ViewportHeight

Friends

class vtkOpenGLProperty
class vtkOpenGLTexture
class vtkOpenGLImageActor

Member Typedef Documentation

Reimplemented from vtkRenderer.

Definition at line 36 of file vtkOpenGLRenderer.h.


Constructor & Destructor Documentation

vtkOpenGLRenderer::vtkOpenGLRenderer (  )  [protected]

vtkOpenGLRenderer::~vtkOpenGLRenderer (  )  [protected]


Member Function Documentation

static vtkOpenGLRenderer* vtkOpenGLRenderer::New (  )  [static]

Create a vtkRenderer with a black background, a white ambient light, two-sided lighting turned on, a viewport of (0,0,1,1), and backface culling turned off.

Reimplemented from vtkRenderer.

virtual const char* vtkOpenGLRenderer::GetClassName (  )  [virtual]

Reimplemented from vtkRenderer.

static int vtkOpenGLRenderer::IsTypeOf ( const char *  name  )  [static]

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkRenderer.

virtual int vtkOpenGLRenderer::IsA ( const char *  name  )  [virtual]

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkRenderer.

static vtkOpenGLRenderer* vtkOpenGLRenderer::SafeDownCast ( vtkObject o  )  [static]

Reimplemented from vtkRenderer.

void vtkOpenGLRenderer::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkRenderer.

void vtkOpenGLRenderer::DeviceRender ( void   )  [virtual]

Concrete open gl render method.

Implements vtkRenderer.

virtual void vtkOpenGLRenderer::DeviceRenderTranslucentPolygonalGeometry (  )  [virtual]

Render translucent polygonal geometry. Default implementation just call UpdateTranslucentPolygonalGeometry(). Subclasses of vtkRenderer that can deal with depth peeling must override this method.

Reimplemented from vtkRenderer.

void vtkOpenGLRenderer::ClearLights ( void   ) 

Internal method temporarily removes lights before reloading them into graphics pipeline.

void vtkOpenGLRenderer::Clear ( void   )  [virtual]

Clear the image to the background color.

Reimplemented from vtkRenderer.

int vtkOpenGLRenderer::UpdateLights ( void   )  [virtual]

Ask lights to load themselves into graphics pipeline.

Reimplemented from vtkRenderer.

int vtkOpenGLRenderer::GetDepthPeelingHigherLayer (  ) 

Is rendering at translucent geometry stage using depth peeling and rendering a layer other than the first one? (Boolean value) If so, the uniform variables UseTexture and Texture can be set. (Used by vtkOpenGLProperty or vtkOpenGLTexture)

void vtkOpenGLRenderer::CheckCompilation ( unsigned int  fragmentShader  )  [protected]

Check the compilation status of some fragment shader source.

virtual void vtkOpenGLRenderer::DevicePickRender (  )  [protected, virtual]

Implements vtkViewport.

virtual void vtkOpenGLRenderer::StartPick ( unsigned int  pickFromSize  )  [protected, virtual]

Implements vtkViewport.

virtual void vtkOpenGLRenderer::UpdatePickId (  )  [protected, virtual]

Implements vtkViewport.

virtual void vtkOpenGLRenderer::DonePick (  )  [protected, virtual]

Implements vtkViewport.

virtual unsigned int vtkOpenGLRenderer::GetPickedId (  )  [protected, virtual]

Implements vtkViewport.

virtual unsigned int vtkOpenGLRenderer::GetNumPickedIds (  )  [protected, virtual]

Implements vtkViewport.

virtual int vtkOpenGLRenderer::GetPickedIds ( unsigned int  atMost,
unsigned int *  callerBuffer 
) [protected, virtual]

Implements vtkViewport.

virtual double vtkOpenGLRenderer::GetPickedZ (  )  [protected, virtual]

Return the Z value for the last picked Prop.

Implements vtkViewport.

int vtkOpenGLRenderer::RenderPeel ( int  layer  )  [protected]

Render a peel layer. If there is no more GPU RAM to save the texture, return false otherwise returns true. Also if layer==0 and no prop have been rendered (there is no translucent geometry), it returns false.

Precondition:
positive_layer: layer>=0

int vtkOpenGLRenderer::GetUseTextureUniformVariable (  )  [protected]

Access to the OpenGL program shader uniform variable "useTexture" from the vtkOpenGLProperty or vtkOpenGLTexture.

int vtkOpenGLRenderer::GetTextureUniformVariable (  )  [protected]

Access to the OpenGL program shader uniform variable "texture" from the vtkOpenGLProperty or vtkOpenGLTexture.


Friends And Related Function Documentation

friend class vtkOpenGLProperty [friend]

Definition at line 91 of file vtkOpenGLRenderer.h.

friend class vtkOpenGLTexture [friend]

Definition at line 92 of file vtkOpenGLRenderer.h.

friend class vtkOpenGLImageActor [friend]

Definition at line 93 of file vtkOpenGLRenderer.h.


Member Data Documentation

Definition at line 32 of file vtkOpenGLRenderer.h.

class vtkGLPickInfo* vtkOpenGLRenderer::PickInfo [protected]

Definition at line 80 of file vtkOpenGLRenderer.h.

double vtkOpenGLRenderer::PickedZ [protected]

Definition at line 82 of file vtkOpenGLRenderer.h.

This flag is on if the current OpenGL context supports extensions required by the depth peeling technique.

Definition at line 106 of file vtkOpenGLRenderer.h.

This flag is on once the OpenGL extensions required by the depth peeling technique have been checked.

Definition at line 110 of file vtkOpenGLRenderer.h.

vtkOpenGLRendererLayerList* vtkOpenGLRenderer::LayerList [protected]

Used by the depth peeling technique to store the transparency layers.

Definition at line 113 of file vtkOpenGLRenderer.h.

unsigned int vtkOpenGLRenderer::OpaqueLayerZ [protected]

Definition at line 115 of file vtkOpenGLRenderer.h.

unsigned int vtkOpenGLRenderer::TransparentLayerZ [protected]

Definition at line 116 of file vtkOpenGLRenderer.h.

unsigned int vtkOpenGLRenderer::ProgramShader [protected]

Definition at line 117 of file vtkOpenGLRenderer.h.

Cache viewport values for depth peeling.

Definition at line 121 of file vtkOpenGLRenderer.h.

Cache viewport values for depth peeling.

Definition at line 122 of file vtkOpenGLRenderer.h.

Cache viewport values for depth peeling.

Definition at line 123 of file vtkOpenGLRenderer.h.

Cache viewport values for depth peeling.

Definition at line 124 of file vtkOpenGLRenderer.h.

unsigned int vtkOpenGLRenderer::DepthFormat [protected]

Actual depth format: vtkgl::DEPTH_COMPONENT16_ARB or vtkgl::DEPTH_COMPONENT24_ARB

Definition at line 129 of file vtkOpenGLRenderer.h.

Definition at line 135 of file vtkOpenGLRenderer.h.


The documentation for this class was generated from the following file:

Generated on Sat Dec 27 13:39:42 2008 for VTK by  doxygen 1.5.6