vtkOpenGLRenderWindow Class Reference

#include <vtkOpenGLRenderWindow.h>

Inheritance diagram for vtkOpenGLRenderWindow:

Inheritance graph
[legend]
Collaboration diagram for vtkOpenGLRenderWindow:

Collaboration graph
[legend]

List of all members.


Detailed Description

OpenGL rendering window.

vtkOpenGLRenderWindow is a concrete implementation of the abstract class vtkRenderWindow. vtkOpenGLRenderer interfaces to the OpenGL graphics library. Application programmers should normally use vtkRenderWindow instead of the OpenGL specific version.

Tests:
vtkOpenGLRenderWindow (Tests)

Definition at line 39 of file vtkOpenGLRenderWindow.h.


Public Types

typedef vtkRenderWindow Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
virtual void StereoUpdate ()
void RegisterTextureResource (GLuint id)
int GetDepthBufferSize ()
int GetColorBufferSizes (int *rgba)
virtual void OpenGLInit ()
unsigned int GetBackLeftBuffer ()
unsigned int GetBackRightBuffer ()
unsigned int GetFrontLeftBuffer ()
unsigned int GetFrontRightBuffer ()
unsigned int GetBackBuffer ()
unsigned int GetFrontBuffer ()
virtual void CheckGraphicError ()
virtual int HasGraphicError ()
virtual const char * GetLastGraphicErrorString ()
vtkOpenGLExtensionManagerGetExtensionManager ()
vtkOpenGLHardwareSupportGetHardwareSupport ()
virtual void WaitForCompletion ()
virtual unsigned char * GetPixelData (int x, int y, int x2, int y2, int front)
virtual int GetPixelData (int x, int y, int x2, int y2, int front, vtkUnsignedCharArray *data)
virtual int SetPixelData (int x, int y, int x2, int y2, unsigned char *data, int front)
virtual int SetPixelData (int x, int y, int x2, int y2, vtkUnsignedCharArray *data, int front)
virtual float * GetRGBAPixelData (int x, int y, int x2, int y2, int front)
virtual int GetRGBAPixelData (int x, int y, int x2, int y2, int front, vtkFloatArray *data)
virtual int SetRGBAPixelData (int x, int y, int x2, int y2, float *data, int front, int blend=0)
virtual int SetRGBAPixelData (int x, int y, int x2, int y2, vtkFloatArray *data, int front, int blend=0)
virtual void ReleaseRGBAPixelData (float *data)
virtual unsigned char * GetRGBACharPixelData (int x, int y, int x2, int y2, int front)
virtual int GetRGBACharPixelData (int x, int y, int x2, int y2, int front, vtkUnsignedCharArray *data)
virtual int SetRGBACharPixelData (int x, int y, int x2, int y2, unsigned char *data, int front, int blend=0)
virtual int SetRGBACharPixelData (int x, int y, int x2, int y2, vtkUnsignedCharArray *data, int front, int blend=0)
virtual float * GetZbufferData (int x1, int y1, int x2, int y2)
virtual int GetZbufferData (int x1, int y1, int x2, int y2, float *z)
virtual int GetZbufferData (int x1, int y1, int x2, int y2, vtkFloatArray *z)
virtual int SetZbufferData (int x1, int y1, int x2, int y2, float *buffer)
virtual int SetZbufferData (int x1, int y1, int x2, int y2, vtkFloatArray *buffer)
virtual vtkTimeStamp GetContextCreationTime ()
vtkTextureUnitManagerGetTextureUnitManager ()

Static Public Member Functions

static int IsTypeOf (const char *type)
static vtkOpenGLRenderWindowSafeDownCast (vtkObject *o)
static void SetGlobalMaximumNumberOfMultiSamples (int val)
static int GetGlobalMaximumNumberOfMultiSamples ()

Protected Member Functions

 vtkOpenGLRenderWindow ()
 ~vtkOpenGLRenderWindow ()
int GetPixelData (int x, int y, int x2, int y2, int front, unsigned char *data)
int GetRGBAPixelData (int x, int y, int x2, int y2, int front, float *data)
int GetRGBACharPixelData (int x, int y, int x2, int y2, int front, unsigned char *data)
int CreateHardwareOffScreenWindow (int width, int height)
void DestroyHardwareOffScreenWindow ()
virtual void CreateAWindow ()=0
virtual void DestroyWindow ()=0
void SetTextureUnitManager (vtkTextureUnitManager *textureUnitManager)

Protected Attributes

long OldMonitorSetting
vtkIdListTextureResourceIds
int OffScreenUseFrameBuffer
unsigned int BackLeftBuffer
unsigned int BackRightBuffer
unsigned int FrontLeftBuffer
unsigned int FrontRightBuffer
unsigned int FrontBuffer
unsigned int BackBuffer
unsigned int LastGraphicError
vtkTimeStamp ContextCreationTime
vtkTextureUnitManagerTextureUnitManager
int NumberOfFrameBuffers
unsigned int TextureObjects [4]
unsigned int FrameBufferObject
unsigned int DepthRenderBufferObject

Member Typedef Documentation


Constructor & Destructor Documentation

vtkOpenGLRenderWindow::vtkOpenGLRenderWindow (  )  [protected]

vtkOpenGLRenderWindow::~vtkOpenGLRenderWindow (  )  [protected]


Member Function Documentation

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

static int vtkOpenGLRenderWindow::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 vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkRenderWindow.

Reimplemented in vtkCarbonRenderWindow, vtkCocoaRenderWindow, vtkOSOpenGLRenderWindow, vtkWin32OpenGLRenderWindow, vtkWinCEOpenGLRenderWindow, and vtkXOpenGLRenderWindow.

virtual int vtkOpenGLRenderWindow::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 vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkRenderWindow.

Reimplemented in vtkCarbonRenderWindow, vtkCocoaRenderWindow, vtkOSOpenGLRenderWindow, vtkWin32OpenGLRenderWindow, vtkWinCEOpenGLRenderWindow, and vtkXOpenGLRenderWindow.

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

void vtkOpenGLRenderWindow::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 vtkRenderWindow.

Reimplemented in vtkCarbonRenderWindow, vtkCocoaRenderWindow, vtkOSOpenGLRenderWindow, vtkWin32OpenGLRenderWindow, vtkWinCEOpenGLRenderWindow, and vtkXOpenGLRenderWindow.

static void vtkOpenGLRenderWindow::SetGlobalMaximumNumberOfMultiSamples ( int  val  )  [static]

Set/Get the maximum number of multisamples

static int vtkOpenGLRenderWindow::GetGlobalMaximumNumberOfMultiSamples (  )  [static]

Set/Get the maximum number of multisamples

virtual void vtkOpenGLRenderWindow::StereoUpdate (  )  [virtual]

Update system if needed due to stereo rendering.

Reimplemented from vtkRenderWindow.

Reimplemented in vtkCocoaRenderWindow.

virtual unsigned char* vtkOpenGLRenderWindow::GetPixelData ( int  x,
int  y,
int  x2,
int  y2,
int  front 
) [virtual]

Set/Get the pixel data of an image, transmitted as RGBRGB...

Implements vtkWindow.

virtual int vtkOpenGLRenderWindow::GetPixelData ( int  x,
int  y,
int  x2,
int  y2,
int  front,
vtkUnsignedCharArray data 
) [virtual]

Set/Get the pixel data of an image, transmitted as RGBRGB...

Implements vtkWindow.

virtual int vtkOpenGLRenderWindow::SetPixelData ( int  x,
int  y,
int  x2,
int  y2,
unsigned char *  data,
int  front 
) [virtual]

Set/Get the pixel data of an image, transmitted as RGBRGB...

Implements vtkRenderWindow.

virtual int vtkOpenGLRenderWindow::SetPixelData ( int  x,
int  y,
int  x2,
int  y2,
vtkUnsignedCharArray data,
int  front 
) [virtual]

Set/Get the pixel data of an image, transmitted as RGBRGB...

Implements vtkRenderWindow.

virtual float* vtkOpenGLRenderWindow::GetRGBAPixelData ( int  x,
int  y,
int  x2,
int  y2,
int  front 
) [virtual]

Set/Get the pixel data of an image, transmitted as RGBARGBA...

Implements vtkRenderWindow.

virtual int vtkOpenGLRenderWindow::GetRGBAPixelData ( int  x,
int  y,
int  x2,
int  y2,
int  front,
vtkFloatArray data 
) [virtual]

Set/Get the pixel data of an image, transmitted as RGBARGBA...

Implements vtkRenderWindow.

virtual int vtkOpenGLRenderWindow::SetRGBAPixelData ( int  x,
int  y,
int  x2,
int  y2,
float *  data,
int  front,
int  blend = 0 
) [virtual]

Set/Get the pixel data of an image, transmitted as RGBARGBA...

Implements vtkRenderWindow.

virtual int vtkOpenGLRenderWindow::SetRGBAPixelData ( int  x,
int  y,
int  x2,
int  y2,
vtkFloatArray data,
int  front,
int  blend = 0 
) [virtual]

Set/Get the pixel data of an image, transmitted as RGBARGBA...

Implements vtkRenderWindow.

virtual void vtkOpenGLRenderWindow::ReleaseRGBAPixelData ( float *  data  )  [virtual]

Set/Get the pixel data of an image, transmitted as RGBARGBA...

Implements vtkRenderWindow.

virtual unsigned char* vtkOpenGLRenderWindow::GetRGBACharPixelData ( int  x,
int  y,
int  x2,
int  y2,
int  front 
) [virtual]

Set/Get the pixel data of an image, transmitted as RGBARGBA...

Implements vtkRenderWindow.

virtual int vtkOpenGLRenderWindow::GetRGBACharPixelData ( int  x,
int  y,
int  x2,
int  y2,
int  front,
vtkUnsignedCharArray data 
) [virtual]

Set/Get the pixel data of an image, transmitted as RGBARGBA...

Implements vtkRenderWindow.

virtual int vtkOpenGLRenderWindow::SetRGBACharPixelData ( int  x,
int  y,
int  x2,
int  y2,
unsigned char *  data,
int  front,
int  blend = 0 
) [virtual]

Set/Get the pixel data of an image, transmitted as RGBARGBA...

Implements vtkRenderWindow.

virtual int vtkOpenGLRenderWindow::SetRGBACharPixelData ( int  x,
int  y,
int  x2,
int  y2,
vtkUnsignedCharArray data,
int  front,
int  blend = 0 
) [virtual]

Set/Get the pixel data of an image, transmitted as RGBARGBA...

Implements vtkRenderWindow.

virtual float* vtkOpenGLRenderWindow::GetZbufferData ( int  x1,
int  y1,
int  x2,
int  y2 
) [virtual]

Set/Get the zbuffer data from an image

Implements vtkRenderWindow.

virtual int vtkOpenGLRenderWindow::GetZbufferData ( int  x1,
int  y1,
int  x2,
int  y2,
float *  z 
) [virtual]

Set/Get the zbuffer data from an image

Implements vtkRenderWindow.

virtual int vtkOpenGLRenderWindow::GetZbufferData ( int  x1,
int  y1,
int  x2,
int  y2,
vtkFloatArray z 
) [virtual]

Set/Get the zbuffer data from an image

Implements vtkRenderWindow.

virtual int vtkOpenGLRenderWindow::SetZbufferData ( int  x1,
int  y1,
int  x2,
int  y2,
float *  buffer 
) [virtual]

Set/Get the zbuffer data from an image

Implements vtkRenderWindow.

virtual int vtkOpenGLRenderWindow::SetZbufferData ( int  x1,
int  y1,
int  x2,
int  y2,
vtkFloatArray buffer 
) [virtual]

Set/Get the zbuffer data from an image

Implements vtkRenderWindow.

void vtkOpenGLRenderWindow::RegisterTextureResource ( GLuint  id  ) 

Register a texture name with this render window.

Reimplemented in vtkCocoaRenderWindow.

int vtkOpenGLRenderWindow::GetDepthBufferSize (  )  [virtual]

Get the size of the depth buffer.

Implements vtkRenderWindow.

Reimplemented in vtkCarbonRenderWindow, and vtkCocoaRenderWindow.

int vtkOpenGLRenderWindow::GetColorBufferSizes ( int *  rgba  )  [virtual]

Get the size of the color buffer. Returns 0 if not able to determine otherwise sets R G B and A into buffer.

Implements vtkRenderWindow.

virtual void vtkOpenGLRenderWindow::OpenGLInit (  )  [virtual]

Initialize OpenGL for this window.

unsigned int vtkOpenGLRenderWindow::GetBackLeftBuffer (  ) 

Return the OpenGL name of the back left buffer. It is GL_BACK_LEFT if GL is bound to the window-system-provided framebuffer. It is vtkgl::COLOR_ATTACHMENT0_EXT if GL is bound to an application-created framebuffer object (GPU-based offscreen rendering) It is used by vtkOpenGLCamera.

unsigned int vtkOpenGLRenderWindow::GetBackRightBuffer (  ) 

Return the OpenGL name of the back right buffer. It is GL_BACK_RIGHT if GL is bound to the window-system-provided framebuffer. It is vtkgl::COLOR_ATTACHMENT0_EXT+1 if GL is bound to an application-created framebuffer object (GPU-based offscreen rendering) It is used by vtkOpenGLCamera.

unsigned int vtkOpenGLRenderWindow::GetFrontLeftBuffer (  ) 

Return the OpenGL name of the front left buffer. It is GL_FRONT_LEFT if GL is bound to the window-system-provided framebuffer. It is vtkgl::COLOR_ATTACHMENT0_EXT if GL is bound to an application-created framebuffer object (GPU-based offscreen rendering) It is used by vtkOpenGLCamera.

unsigned int vtkOpenGLRenderWindow::GetFrontRightBuffer (  ) 

Return the OpenGL name of the front right buffer. It is GL_FRONT_RIGHT if GL is bound to the window-system-provided framebuffer. It is vtkgl::COLOR_ATTACHMENT0_EXT+1 if GL is bound to an application-created framebuffer object (GPU-based offscreen rendering) It is used by vtkOpenGLCamera.

unsigned int vtkOpenGLRenderWindow::GetBackBuffer (  ) 

Return the OpenGL name of the back left buffer. It is GL_BACK if GL is bound to the window-system-provided framebuffer. It is vtkgl::COLOR_ATTACHMENT0_EXT if GL is bound to an application-created framebuffer object (GPU-based offscreen rendering) It is used by vtkOpenGLCamera.

unsigned int vtkOpenGLRenderWindow::GetFrontBuffer (  ) 

Return the OpenGL name of the front left buffer. It is GL_FRONT if GL is bound to the window-system-provided framebuffer. It is vtkgl::COLOR_ATTACHMENT0_EXT if GL is bound to an application-created framebuffer object (GPU-based offscreen rendering) It is used by vtkOpenGLCamera.

virtual void vtkOpenGLRenderWindow::CheckGraphicError (  )  [virtual]

Update graphic error status, regardless of ReportGraphicErrors flag. It means this method can be used in any context and is not restricted to debug mode.

Implements vtkRenderWindow.

virtual int vtkOpenGLRenderWindow::HasGraphicError (  )  [virtual]

Return the last graphic error status. Initial value is false.

Implements vtkRenderWindow.

virtual const char* vtkOpenGLRenderWindow::GetLastGraphicErrorString (  )  [virtual]

Return a string matching the last graphic error status.

Implements vtkRenderWindow.

virtual vtkTimeStamp vtkOpenGLRenderWindow::GetContextCreationTime (  )  [virtual]

Get the time when the OpenGL context was created. BTX

vtkOpenGLExtensionManager* vtkOpenGLRenderWindow::GetExtensionManager (  ) 

Returns the extension manager. A new one will be created if one hasn't already been set up.

vtkOpenGLHardwareSupport* vtkOpenGLRenderWindow::GetHardwareSupport (  ) 

Returns an Hardware Support object. A new one will be created if one hasn't already been set up.

vtkTextureUnitManager* vtkOpenGLRenderWindow::GetTextureUnitManager (  ) 

Returns its texture unit manager object. A new one will be created if one hasn't already been set up.

virtual void vtkOpenGLRenderWindow::WaitForCompletion (  )  [virtual]

Block the thread until the actual rendering is finished(). Useful for measurement only.

Implements vtkRenderWindow.

int vtkOpenGLRenderWindow::GetPixelData ( int  x,
int  y,
int  x2,
int  y2,
int  front,
unsigned char *  data 
) [protected]

int vtkOpenGLRenderWindow::GetRGBAPixelData ( int  x,
int  y,
int  x2,
int  y2,
int  front,
float *  data 
) [protected]

int vtkOpenGLRenderWindow::GetRGBACharPixelData ( int  x,
int  y,
int  x2,
int  y2,
int  front,
unsigned char *  data 
) [protected]

int vtkOpenGLRenderWindow::CreateHardwareOffScreenWindow ( int  width,
int  height 
) [protected]

Create an offScreen window based on OpenGL framebuffer extension. Return if the creation was successful or not.

Precondition:
positive_width: width>0

positive_height: height>0

not_initialized: !OffScreenUseFrameBuffer

Postcondition:
valid_result: (result==0 || result==1) && (result implies OffScreenUseFrameBuffer)

void vtkOpenGLRenderWindow::DestroyHardwareOffScreenWindow (  )  [protected]

Destroy an offscreen window based on OpenGL framebuffer extension.

Precondition:
initialized: OffScreenUseFrameBuffer
Postcondition:
destroyed: !OffScreenUseFrameBuffer

virtual void vtkOpenGLRenderWindow::CreateAWindow (  )  [protected, pure virtual]

virtual void vtkOpenGLRenderWindow::DestroyWindow (  )  [protected, pure virtual]

void vtkOpenGLRenderWindow::SetTextureUnitManager ( vtkTextureUnitManager textureUnitManager  )  [protected]

Set the texture unit manager.


Member Data Documentation

Definition at line 42 of file vtkOpenGLRenderWindow.h.

Definition at line 197 of file vtkOpenGLRenderWindow.h.

Flag telling if a framebuffer-based offscreen is currently in use.

Definition at line 217 of file vtkOpenGLRenderWindow.h.

Variables used by the framebuffer-based offscreen method.

Definition at line 221 of file vtkOpenGLRenderWindow.h.

unsigned int vtkOpenGLRenderWindow::TextureObjects[4] [protected]

Variables used by the framebuffer-based offscreen method.

Definition at line 222 of file vtkOpenGLRenderWindow.h.

unsigned int vtkOpenGLRenderWindow::FrameBufferObject [protected]

Variables used by the framebuffer-based offscreen method.

Definition at line 223 of file vtkOpenGLRenderWindow.h.

Variables used by the framebuffer-based offscreen method.

Definition at line 224 of file vtkOpenGLRenderWindow.h.

unsigned int vtkOpenGLRenderWindow::BackLeftBuffer [protected]

Definition at line 236 of file vtkOpenGLRenderWindow.h.

unsigned int vtkOpenGLRenderWindow::BackRightBuffer [protected]

Definition at line 237 of file vtkOpenGLRenderWindow.h.

unsigned int vtkOpenGLRenderWindow::FrontLeftBuffer [protected]

Definition at line 238 of file vtkOpenGLRenderWindow.h.

unsigned int vtkOpenGLRenderWindow::FrontRightBuffer [protected]

Definition at line 239 of file vtkOpenGLRenderWindow.h.

unsigned int vtkOpenGLRenderWindow::FrontBuffer [protected]

Definition at line 240 of file vtkOpenGLRenderWindow.h.

unsigned int vtkOpenGLRenderWindow::BackBuffer [protected]

Definition at line 241 of file vtkOpenGLRenderWindow.h.

unsigned int vtkOpenGLRenderWindow::LastGraphicError [protected]

Definition at line 244 of file vtkOpenGLRenderWindow.h.

Definition at line 246 of file vtkOpenGLRenderWindow.h.

Definition at line 248 of file vtkOpenGLRenderWindow.h.


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

Generated on Mon Sep 27 18:37:25 2010 for VTK by  doxygen 1.5.6