VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
vtkOpenGLRenderWindow Class Reference

OpenGL rendering window. More...

#include <vtkOpenGLRenderWindow.h>

Inheritance diagram for vtkOpenGLRenderWindow:
Inheritance graph
[legend]
Collaboration diagram for vtkOpenGLRenderWindow:
Collaboration graph
[legend]

List of all members.

Public Types

typedef vtkRenderWindow Superclass

Public Member Functions

virtual int IsA (const char *type)
vtkOpenGLRenderWindowNewInstance () const
void PrintSelf (ostream &os, vtkIndent indent)
virtual void StereoUpdate ()
void RegisterTextureResource (GLuint id)
int GetDepthBufferSize ()
int GetColorBufferSizes (int *rgba)
virtual void OpenGLInit ()
virtual void OpenGLInitState ()
virtual void OpenGLInitContext ()
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 ()
virtual unsigned long GetContextCreationTime ()
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 floatGetRGBAPixelData (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 floatGetZbufferData (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)
vtkTextureUnitManagerGetTextureUnitManager ()

Static Public Member Functions

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

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 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
int OwnContext
vtkTimeStamp ContextCreationTime
vtkTextureUnitManagerTextureUnitManager
int NumberOfFrameBuffers
unsigned int TextureObjects [4]
unsigned int FrameBufferObject
unsigned int DepthRenderBufferObject

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 40 of file vtkOpenGLRenderWindow.h.


Member Typedef Documentation


Constructor & Destructor Documentation


Member Function Documentation

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, vtkXOpenGLRenderWindow, vtkOSOpenGLRenderWindow, vtkWin32OpenGLRenderWindow, and vtkGenericOpenGLRenderWindow.

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, vtkXOpenGLRenderWindow, vtkOSOpenGLRenderWindow, vtkWin32OpenGLRenderWindow, and vtkGenericOpenGLRenderWindow.

virtual vtkObjectBase* vtkOpenGLRenderWindow::NewInstanceInternal ( ) const [protected, virtual]
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, vtkXOpenGLRenderWindow, vtkOSOpenGLRenderWindow, vtkWin32OpenGLRenderWindow, and vtkGenericOpenGLRenderWindow.

Set/Get the maximum number of multisamples

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.

Register a texture name with this render window.

Get the size of the depth buffer.

Implements vtkRenderWindow.

Reimplemented in vtkCarbonRenderWindow, and vtkCocoaRenderWindow.

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.

virtual void vtkOpenGLRenderWindow::OpenGLInitState ( ) [virtual]
virtual void vtkOpenGLRenderWindow::OpenGLInitContext ( ) [virtual]

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.

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.

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.

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.

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.

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.

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 unsigned long vtkOpenGLRenderWindow::GetContextCreationTime ( ) [virtual]

Get the time when the OpenGL context was created.

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

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

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)

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 198 of file vtkOpenGLRenderWindow.h.

Definition at line 199 of file vtkOpenGLRenderWindow.h.

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

Definition at line 219 of file vtkOpenGLRenderWindow.h.

Variables used by the framebuffer-based offscreen method.

Definition at line 223 of file vtkOpenGLRenderWindow.h.

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

Variables used by the framebuffer-based offscreen method.

Definition at line 224 of file vtkOpenGLRenderWindow.h.

Variables used by the framebuffer-based offscreen method.

Definition at line 225 of file vtkOpenGLRenderWindow.h.

Variables used by the framebuffer-based offscreen method.

Definition at line 226 of file vtkOpenGLRenderWindow.h.

Definition at line 238 of file vtkOpenGLRenderWindow.h.

Definition at line 239 of file vtkOpenGLRenderWindow.h.

Definition at line 240 of file vtkOpenGLRenderWindow.h.

Definition at line 241 of file vtkOpenGLRenderWindow.h.

Definition at line 242 of file vtkOpenGLRenderWindow.h.

unsigned int vtkOpenGLRenderWindow::BackBuffer [protected]

Definition at line 243 of file vtkOpenGLRenderWindow.h.

Definition at line 246 of file vtkOpenGLRenderWindow.h.

Flag telling if the context has been created here or was inherited.

Definition at line 249 of file vtkOpenGLRenderWindow.h.

Definition at line 251 of file vtkOpenGLRenderWindow.h.

Definition at line 253 of file vtkOpenGLRenderWindow.h.


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