VTK
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
vtkOpenGLRenderWindow Class Referenceabstract

OpenGL rendering window. More...

#include <vtkOpenGLRenderWindow.h>

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

Public Types

typedef vtkRenderWindow Superclass
 
- Public Types inherited from vtkRenderWindow
typedef vtkWindow Superclass
 
- Public Types inherited from vtkWindow
typedef vtkObject Superclass
 

Public Member Functions

virtual vtkTypeBool IsA (const char *type)
 Return 1 if this class is the same type of (or a subclass of) the named class. More...
 
vtkOpenGLRenderWindowNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses. More...
 
const char * GetRenderingBackend () override
 What rendering backend has the user requested. More...
 
unsigned char * GetPixelData (int x, int y, int x2, int y2, int front, int right) override
 Set/Get the pixel data of an image, transmitted as RGBRGB... More...
 
int GetPixelData (int x, int y, int x2, int y2, int front, vtkUnsignedCharArray *data, int right) override
 
int SetPixelData (int x, int y, int x2, int y2, unsigned char *data, int front, int right) override
 Set/Get the pixel data of an image, transmitted as RGBRGBRGB. More...
 
int SetPixelData (int x, int y, int x2, int y2, vtkUnsignedCharArray *data, int front, int right) override
 
floatGetRGBAPixelData (int x, int y, int x2, int y2, int front, int right=0) override
 Set/Get the pixel data of an image, transmitted as RGBARGBA... More...
 
int GetRGBAPixelData (int x, int y, int x2, int y2, int front, vtkFloatArray *data, int right=0) override
 
int SetRGBAPixelData (int x, int y, int x2, int y2, float *data, int front, int blend=0, int right=0) override
 
int SetRGBAPixelData (int x, int y, int x2, int y2, vtkFloatArray *data, int front, int blend=0, int right=0) override
 
void ReleaseRGBAPixelData (float *data) override
 
unsigned char * GetRGBACharPixelData (int x, int y, int x2, int y2, int front, int right=0) override
 
int GetRGBACharPixelData (int x, int y, int x2, int y2, int front, vtkUnsignedCharArray *data, int right=0) override
 
int SetRGBACharPixelData (int x, int y, int x2, int y2, unsigned char *data, int front, int blend=0, int right=0) override
 
int SetRGBACharPixelData (int x, int y, int x2, int y2, vtkUnsignedCharArray *data, int front, int blend=0, int right=0) override
 
floatGetZbufferData (int x1, int y1, int x2, int y2) override
 Set/Get the zbuffer data from an image. More...
 
int GetZbufferData (int x1, int y1, int x2, int y2, float *z) override
 
int GetZbufferData (int x1, int y1, int x2, int y2, vtkFloatArray *z) override
 
int SetZbufferData (int x1, int y1, int x2, int y2, float *buffer) override
 
int SetZbufferData (int x1, int y1, int x2, int y2, vtkFloatArray *buffer) override
 
void ActivateTexture (vtkTextureObject *)
 Activate a texture unit for this texture. More...
 
void DeactivateTexture (vtkTextureObject *)
 Deactivate a previously activated texture. More...
 
int GetTextureUnitForTexture (vtkTextureObject *)
 Get the texture unit for a given texture object. More...
 
int GetDepthBufferSize () override
 Get the size of the depth buffer. More...
 
bool GetUsingSRGBColorSpace ()
 Is this window/fo in sRGB colorspace. More...
 
int GetColorBufferSizes (int *rgba) override
 Get the size of the color buffer. More...
 
int GetColorBufferInternalFormat (int attachmentPoint)
 Get the internal format of current attached texture or render buffer. More...
 
void SetSize (int a[2]) override
 Set the size of the window in screen coordinates in pixels. More...
 
void SetSize (int, int) override
 
virtual void OpenGLInit ()
 Initialize OpenGL for this window. More...
 
virtual void OpenGLInitState ()
 
virtual void OpenGLInitContext ()
 
void GetOpenGLVersion (int &major, int &minor)
 Get the major and minor version numbers of the OpenGL context we are using ala 3.2, 3.3, 4.0, etc... More...
 
unsigned int GetBackLeftBuffer ()
 Return the OpenGL name of the back left buffer. More...
 
unsigned int GetBackRightBuffer ()
 Return the OpenGL name of the back right buffer. More...
 
unsigned int GetFrontLeftBuffer ()
 Return the OpenGL name of the front left buffer. More...
 
unsigned int GetFrontRightBuffer ()
 Return the OpenGL name of the front right buffer. More...
 
unsigned int GetBackBuffer ()
 Return the OpenGL name of the back left buffer. More...
 
unsigned int GetFrontBuffer ()
 Return the OpenGL name of the front left buffer. More...
 
virtual vtkMTimeType GetContextCreationTime ()
 Get the time when the OpenGL context was created. More...
 
virtual vtkOpenGLShaderCacheGetShaderCache ()
 Returns an Shader Cache object. More...
 
virtual vtkOpenGLVertexBufferObjectCacheGetVBOCache ()
 Returns an Shader Cache object. More...
 
virtual unsigned int GetFrameBufferObject ()
 Returns the current default FBO (0 when OffScreenRendering is inactive). More...
 
vtkTextureUnitManagerGetTextureUnitManager ()
 Returns its texture unit manager object. More...
 
void WaitForCompletion () override
 Block the thread until the actual rendering is finished(). More...
 
virtual void DrawPixels (int x1, int y1, int x2, int y2, int numComponents, int dataType, void *data)
 Replacement for the old glDrawPixels function. More...
 
virtual void DrawPixels (int dstXmin, int dstYmin, int dstXmax, int dstYmax, int srcXmin, int srcYmin, int srcXmax, int srcYmax, int srcWidth, int srcHeight, int numComponents, int dataType, void *data)
 Replacement for the old glDrawPixels function, but it allows for scaling the data and using only part of the texture. More...
 
virtual void DrawPixels (int srcWidth, int srcHeight, int numComponents, int dataType, void *data)
 Replacement for the old glDrawPixels function. More...
 
virtual float GetMaximumHardwareLineWidth ()
 Return the largest line width supported by the hardware. More...
 
virtual bool IsPointSpriteBugPresent ()
 Returns true if driver has an EGL/OpenGL bug that makes vtkChartsCoreCxx-TestChartDoubleColors and other tests to fail because point sprites don't work correctly (gl_PointCoord is undefined) unless glEnable(GL_POINT_SPRITE) More...
 
int GetDefaultTextureInternalFormat (int vtktype, int numComponents, bool needInteger, bool needFloat, bool needSRGB)
 Get a mapping of vtk data types to native texture formats for this window we put this on the RenderWindow so that every texture does not have to build these structures themselves. More...
 
std::string GetOpenGLSupportMessage ()
 Return a message profiding additional details about the results of calling SupportsOpenGL() This can be used to retrieve more specifics about what failed. More...
 
int SetUseOffScreenBuffers (bool offScreen) override
 Create and bind offscreen rendering buffers without destroying the current OpenGL context. More...
 
bool GetUseOffScreenBuffers () override
 
int SupportsOpenGL () override
 Does this render window support OpenGL? 0-false, 1-true. More...
 
const char * ReportCapabilities () override
 Get report of capabilities for the render window. More...
 
virtual void Initialize (void)
 Initialize the rendering window. More...
 
void RegisterGraphicsResources (vtkGenericOpenGLResourceFreeCallback *cb)
 
void UnregisterGraphicsResources (vtkGenericOpenGLResourceFreeCallback *cb)
 
virtual void PushContext ()
 Ability to push and pop this window's context as the current context. More...
 
virtual void PopContext ()
 
bool InitializeFromCurrentContext () override
 Initialize the render window from the information associated with the currently activated OpenGL context. More...
 
virtual unsigned int GetDefaultFrameBufferId ()
 Returns the id for the frame buffer object, if any, used by the render window in which the window does all its rendering. More...
 
virtual bool SetSwapControl (int)
 Set the number of vertical syncs required between frames. More...
 
virtual vtkOpenGLStateGetState ()
 
vtkOpenGLBufferObjectGetTQuad2DVBO ()
 
int GetNoiseTextureUnit ()
 
void StereoUpdate () override
 Update the system, if needed, due to stereo rendering. More...
 
void StereoMidpoint () override
 Intermediate method performs operations required between the rendering of the left and right eye. More...
 
void Render () override
 Handle opengl specific code and calls superclass. More...
 
- Public Member Functions inherited from vtkRenderWindow
vtkRenderWindowNewInstance () const
 
virtual void AddRenderer (vtkRenderer *)
 Add a renderer to the list of renderers. More...
 
void RemoveRenderer (vtkRenderer *)
 Remove a renderer from the list of renderers. More...
 
int HasRenderer (vtkRenderer *)
 Query if a renderer is in the list of renderers. More...
 
 vtkGetNewMacro (RenderTimer, vtkRenderTimerLog) vtkRendererCollection *GetRenderers()
 Get the render timer log for this window. More...
 
void CaptureGL2PSSpecialProps (vtkCollection *specialProps)
 The GL2PS exporter must handle certain props in a special way (e.g. More...
 
virtual int GetCapturingGL2PSSpecialProps ()
 Returns true if the render process is capturing text actors. More...
 
virtual void Start ()=0
 Initialize the rendering process. More...
 
virtual void Finalize ()=0
 Finalize the rendering process. More...
 
virtual void Frame ()=0
 A termination method performed at the end of the rendering process to do things like swapping buffers (if necessary) or similar actions. More...
 
virtual void CopyResultFrame ()
 Performed at the end of the rendering process to generate image. More...
 
virtual vtkRenderWindowInteractorMakeRenderWindowInteractor ()
 Create an interactor to control renderers in this window. More...
 
virtual void HideCursor ()=0
 Hide or Show the mouse cursor, it is nice to be able to hide the default cursor if you want VTK to display a 3D cursor instead. More...
 
virtual void ShowCursor ()=0
 
virtual void SetCursorPosition (int, int)
 
virtual void SetCurrentCursor (int)
 Change the shape of the cursor. More...
 
virtual int GetCurrentCursor ()
 
virtual void SetFullScreen (vtkTypeBool)=0
 Turn on/off rendering full screen window size. More...
 
virtual vtkTypeBool GetFullScreen ()
 
virtual void FullScreenOn ()
 
virtual void FullScreenOff ()
 
virtual void SetBorders (vtkTypeBool)
 Turn on/off window manager borders. More...
 
virtual vtkTypeBool GetBorders ()
 
virtual void BordersOn ()
 
virtual void BordersOff ()
 
virtual vtkTypeBool GetStereoCapableWindow ()
 Prescribe that the window be created in a stereo-capable mode. More...
 
virtual void StereoCapableWindowOn ()
 
virtual void StereoCapableWindowOff ()
 
virtual void SetStereoCapableWindow (vtkTypeBool capable)
 
virtual vtkTypeBool GetStereoRender ()
 Turn on/off stereo rendering. More...
 
void SetStereoRender (vtkTypeBool stereo)
 
virtual void StereoRenderOn ()
 
virtual void StereoRenderOff ()
 
virtual void SetAlphaBitPlanes (vtkTypeBool)
 Turn on/off the use of alpha bitplanes. More...
 
virtual vtkTypeBool GetAlphaBitPlanes ()
 
virtual void AlphaBitPlanesOn ()
 
virtual void AlphaBitPlanesOff ()
 
virtual void SetPointSmoothing (vtkTypeBool)
 Turn on/off point smoothing. More...
 
virtual vtkTypeBool GetPointSmoothing ()
 
virtual void PointSmoothingOn ()
 
virtual void PointSmoothingOff ()
 
virtual void SetLineSmoothing (vtkTypeBool)
 Turn on/off line smoothing. More...
 
virtual vtkTypeBool GetLineSmoothing ()
 
virtual void LineSmoothingOn ()
 
virtual void LineSmoothingOff ()
 
virtual void SetPolygonSmoothing (vtkTypeBool)
 Turn on/off polygon smoothing. More...
 
virtual vtkTypeBool GetPolygonSmoothing ()
 
virtual void PolygonSmoothingOn ()
 
virtual void PolygonSmoothingOff ()
 
virtual int GetStereoType ()
 Set/Get what type of stereo rendering to use. More...
 
void SetStereoType (int)
 
void SetStereoTypeToCrystalEyes ()
 
void SetStereoTypeToRedBlue ()
 
void SetStereoTypeToInterlaced ()
 
void SetStereoTypeToLeft ()
 
void SetStereoTypeToRight ()
 
void SetStereoTypeToDresden ()
 
void SetStereoTypeToAnaglyph ()
 
void SetStereoTypeToCheckerboard ()
 
void SetStereoTypeToSplitViewportHorizontal ()
 
void SetStereoTypeToFake ()
 
const char * GetStereoTypeAsString ()
 
virtual void StereoRenderComplete ()
 Handles work required once both views have been rendered when using stereo rendering. More...
 
virtual void SetAnaglyphColorSaturation (float)
 Set/get the anaglyph color saturation factor. More...
 
virtual float GetAnaglyphColorSaturation ()
 
virtual void SetAnaglyphColorMask (int, int)
 Set/get the anaglyph color mask values. More...
 
void SetAnaglyphColorMask (int[2])
 
virtual intGetAnaglyphColorMask ()
 
virtual void GetAnaglyphColorMask (int data[2])
 
virtual void WindowRemap ()=0
 Remap the rendering window. More...
 
virtual void SetSwapBuffers (vtkTypeBool)
 Turn on/off buffer swapping between images. More...
 
virtual vtkTypeBool GetSwapBuffers ()
 
virtual void SwapBuffersOn ()
 
virtual void SwapBuffersOff ()
 
float GetZbufferDataAtPoint (int x, int y)
 
virtual int GetNeverRendered ()
 This flag is set if the window hasn't rendered since it was created. More...
 
virtual int GetAbortRender ()
 This is a flag that can be set to interrupt a rendering that is in progress. More...
 
virtual void SetAbortRender (int)
 
virtual int GetInAbortCheck ()
 
virtual void SetInAbortCheck (int)
 
virtual int CheckAbortStatus ()
 
virtual vtkTypeBool GetIsPicking ()
 
virtual void SetIsPicking (vtkTypeBool)
 
virtual void IsPickingOn ()
 
virtual void IsPickingOff ()
 
virtual int GetEventPending ()=0
 Check to see if a mouse button has been pressed. More...
 
virtual int CheckInRenderStatus ()
 Are we rendering at the moment. More...
 
virtual void ClearInRenderStatus ()
 Clear status (after an exception was thrown for example) More...
 
virtual void SetDesiredUpdateRate (double)
 Set/Get the desired update rate. More...
 
virtual double GetDesiredUpdateRate ()
 
virtual int GetNumberOfLayers ()
 Get the number of layers for renderers. More...
 
virtual void SetNumberOfLayers (int)
 
virtual vtkRenderWindowInteractorGetInteractor ()
 Get the interactor associated with this render window. More...
 
void SetInteractor (vtkRenderWindowInteractor *)
 Set the interactor to the render window. More...
 
void UnRegister (vtkObjectBase *o) override
 This Method detects loops of RenderWindow<->Interactor, so objects are freed properly. More...
 
void SetDisplayId (void *) override=0
 Dummy stubs for vtkWindow API. More...
 
void SetWindowId (void *) override=0
 
virtual void SetNextWindowId (void *)=0
 
void SetParentId (void *) override=0
 
void * GetGenericDisplayId () override=0
 
void * GetGenericWindowId () override=0
 
void * GetGenericParentId () override=0
 
void * GetGenericContext () override=0
 
void * GetGenericDrawable () override=0
 
void SetWindowInfo (const char *) override=0
 
virtual void SetNextWindowInfo (const char *)=0
 
void SetParentInfo (const char *) override=0
 
virtual void SetSharedRenderWindow (vtkRenderWindow *)
 Set/Get an already existing window that this window should share data with if possible. More...
 
virtual vtkRenderWindowGetSharedRenderWindow ()
 
virtual bool GetPlatformSupportsRenderWindowSharing ()
 
void MakeCurrent () override=0
 Attempt to make this window the current graphics context for the calling thread. More...
 
virtual bool IsCurrent ()=0
 Tells if this window is the current graphics context for the calling thread. More...
 
virtual bool IsDrawable ()
 Test if the window has a valid drawable. More...
 
virtual void SetForceMakeCurrent ()
 If called, allow MakeCurrent() to skip cache-check when called. More...
 
virtual int IsDirect ()
 Is this render window using hardware acceleration? 0-false, 1-true. More...
 
virtual void SetMultiSamples (int)
 Set / Get the number of multisamples to use for hardware antialiasing. More...
 
virtual int GetMultiSamples ()
 
virtual void SetStencilCapable (vtkTypeBool)
 Set / Get the availability of the stencil buffer. More...
 
virtual vtkTypeBool GetStencilCapable ()
 
virtual void StencilCapableOn ()
 
virtual void StencilCapableOff ()
 
virtual void SetDeviceIndex (int)
 If there are several graphics card installed on a system, this index can be used to specify which card you want to render to. More...
 
virtual int GetDeviceIndex ()
 
virtual int GetNumberOfDevices ()
 Returns the number of devices (graphics cards) on a system. More...
 
virtual bool GetUseSRGBColorSpace ()
 Set/Get if we want this window to use the sRGB color space. More...
 
virtual void SetUseSRGBColorSpace (bool)
 
virtual void UseSRGBColorSpaceOn ()
 
virtual void UseSRGBColorSpaceOff ()
 
- Public Member Functions inherited from vtkWindow
vtkWindowNewInstance () const
 
virtual intGetPosition ()
 Set/Get the position in screen coordinates of the rendering window. More...
 
virtual void SetPosition (int, int)
 
virtual void SetPosition (int a[2])
 
virtual intGetSize ()
 Set/Get the size of the window in screen coordinates in pixels. More...
 
intGetActualSize ()
 GetSize() returns the size * this->TileScale, whereas this method returns the size without multiplying with the tile scale. More...
 
virtual intGetScreenSize ()=0
 Get the current size of the screen in pixels. More...
 
virtual void SetMapped (vtkTypeBool)
 Keep track of whether the rendering window has been mapped to screen. More...
 
virtual vtkTypeBool GetMapped ()
 
virtual void MappedOn ()
 
virtual void MappedOff ()
 
virtual void SetErase (vtkTypeBool)
 Turn on/off erasing the screen between images. More...
 
virtual vtkTypeBool GetErase ()
 
virtual void EraseOn ()
 
virtual void EraseOff ()
 
virtual void SetDoubleBuffer (vtkTypeBool)
 Keep track of whether double buffering is on or off. More...
 
virtual vtkTypeBool GetDoubleBuffer ()
 
virtual void DoubleBufferOn ()
 
virtual void DoubleBufferOff ()
 
virtual char * GetWindowName ()
 Get name of rendering window. More...
 
virtual void SetWindowName (const char *)
 
virtual int GetDPI ()
 Return a best estimate to the dots per inch of the display device being rendered (or printed). More...
 
virtual void SetDPI (int)
 
virtual bool DetectDPI ()
 Attempt to detect and set the DPI of the display device by querying the system. More...
 
virtual void SetOffScreenRendering (vtkTypeBool)
 Create a window in memory instead of on the screen. More...
 
virtual vtkTypeBool GetOffScreenRendering ()
 
virtual void OffScreenRenderingOn ()
 
virtual void OffScreenRenderingOff ()
 
virtual void SetTileScale (int, int)
 These methods are used by vtkWindowToImageFilter to tell a VTK window to simulate a larger window by tiling. More...
 
void SetTileScale (int[2])
 
virtual intGetTileScale ()
 
virtual void GetTileScale (int &, int &)
 
virtual void GetTileScale (int[2])
 
void SetTileScale (int s)
 
virtual void SetTileViewport (double, double, double, double)
 
virtual void SetTileViewport (double[4])
 
virtual doubleGetTileViewport ()
 
virtual void GetTileViewport (double &, double &, double &, double &)
 
virtual void GetTileViewport (double[4])
 
- Public Member Functions inherited from vtkObject
 vtkBaseTypeMacro (vtkObject, vtkObjectBase)
 
virtual void DebugOn ()
 Turn debugging output on. More...
 
virtual void DebugOff ()
 Turn debugging output off. More...
 
bool GetDebug ()
 Get the value of the debug flag. More...
 
void SetDebug (bool debugFlag)
 Set the value of the debug flag. More...
 
virtual void Modified ()
 Update the modification time for this object. More...
 
virtual vtkMTimeType GetMTime ()
 Return this object's modified time. More...
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 
vtkCommandGetCommand (unsigned long tag)
 
void RemoveObserver (vtkCommand *)
 
void RemoveObservers (unsigned long event, vtkCommand *)
 
void RemoveObservers (const char *event, vtkCommand *)
 
vtkTypeBool HasObserver (unsigned long event, vtkCommand *)
 
vtkTypeBool HasObserver (const char *event, vtkCommand *)
 
void RemoveObserver (unsigned long tag)
 
void RemoveObservers (unsigned long event)
 
void RemoveObservers (const char *event)
 
void RemoveAllObservers ()
 
vtkTypeBool HasObserver (unsigned long event)
 
vtkTypeBool HasObserver (const char *event)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More...
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 Allow user to set the AbortFlagOn() with the return value of the callback method. More...
 
int InvokeEvent (unsigned long event, void *callData)
 This method invokes an event and return whether the event was aborted or not. More...
 
int InvokeEvent (const char *event, void *callData)
 
int InvokeEvent (unsigned long event)
 
int InvokeEvent (const char *event)
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 Return the class name as a string. More...
 
virtual void Delete ()
 Delete a VTK object. More...
 
virtual void FastDelete ()
 Delete a reference to this object. More...
 
void InitializeObjectBase ()
 
void Print (ostream &os)
 Print an object to an ostream. More...
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 
virtual void Register (vtkObjectBase *o)
 Increase the reference count (mark as used by another object). More...
 
int GetReferenceCount ()
 Return the current reference count of this object. More...
 
void SetReferenceCount (int)
 Sets the reference count. More...
 
void PrintRevisions (ostream &)
 Legacy. More...
 

Static Public Member Functions

static vtkTypeBool IsTypeOf (const char *type)
 
static vtkOpenGLRenderWindowSafeDownCast (vtkObjectBase *o)
 
static void SetGlobalMaximumNumberOfMultiSamples (int val)
 Set/Get the maximum number of multisamples. More...
 
static int GetGlobalMaximumNumberOfMultiSamples ()
 
- Static Public Member Functions inherited from vtkRenderWindow
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkRenderWindowSafeDownCast (vtkObjectBase *o)
 
static vtkRenderWindowNew ()
 Construct an instance of vtkRenderWindow with its screen size set to 300x300, borders turned on, positioned at (0,0), double buffering turned on. More...
 
static const char * GetRenderLibrary ()
 What rendering library has the user requested. More...
 
- Static Public Member Functions inherited from vtkWindow
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkWindowSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkObject
static vtkObjectNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
 
static void BreakOnError ()
 This method is called when vtkErrorMacro executes. More...
 
static void SetGlobalWarningDisplay (int val)
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static void GlobalWarningDisplayOn ()
 
static void GlobalWarningDisplayOff ()
 
static int GetGlobalWarningDisplay ()
 
- Static Public Member Functions inherited from vtkObjectBase
static vtkTypeBool IsTypeOf (const char *name)
 Return 1 if this class type is the same type of (or a subclass of) the named class. More...
 
static vtkObjectBaseNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
 

Public Attributes

std::set< vtkGenericOpenGLResourceFreeCallback * > Resources
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkOpenGLRenderWindow ()
 
 ~vtkOpenGLRenderWindow () override
 
void InitializeTextureInternalFormats ()
 
virtual int ReadPixels (const vtkRecti &rect, int front, int glFormat, int glType, void *data, int right=0)
 
int CreateHardwareOffScreenWindow (int width, int height)
 Create an offScreen window based on OpenGL framebuffer extension. More...
 
int CreateHardwareOffScreenBuffers (int width, int height, bool bind=false)
 
void BindHardwareOffScreenBuffers ()
 
void DestroyHardwareOffScreenWindow ()
 Destroy an offscreen window based on OpenGL framebuffer extension. More...
 
void UnbindHardwareOffScreenBuffers ()
 
void DestroyHardwareOffScreenBuffers ()
 
virtual void CreateAWindow ()=0
 Create a not-off-screen window. More...
 
virtual void DestroyWindow ()=0
 Destroy a not-off-screen window. More...
 
virtual void ReleaseGraphicsResources (vtkRenderWindow *)
 Free up any graphics resources associated with this window a value of NULL means the context may already be destroyed. More...
 
void SetTextureUnitManager (vtkTextureUnitManager *textureUnitManager)
 Set the texture unit manager. More...
 
void SaveGLState ()
 Query and save OpenGL state. More...
 
void RestoreGLState ()
 Restore OpenGL state at end of the rendering. More...
 
- Protected Member Functions inherited from vtkRenderWindow
 vtkRenderWindow ()
 
 ~vtkRenderWindow () override
 
virtual void DoStereoRender ()
 
- Protected Member Functions inherited from vtkWindow
 vtkWindow ()
 
 ~vtkWindow () override
 
- Protected Member Functions inherited from vtkObject
 vtkObject ()
 
 ~vtkObject () override
 
void RegisterInternal (vtkObjectBase *, vtkTypeBool check) override
 
void UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr)
 These methods allow a command to exclusively grab all events. More...
 
void InternalReleaseFocus ()
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
virtual void CollectRevisions (ostream &)
 
virtual void ReportReferences (vtkGarbageCollector *)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Protected Attributes

vtkOpenGLShaderCacheShaderCache
 
vtkOpenGLVertexBufferObjectCacheVBOCache
 
vtkOpenGLStateState
 
bool OpenGLSupportTested
 
int OpenGLSupportResult
 
std::string OpenGLSupportMessage
 
int TextureInternalFormats [VTK_UNICODE_STRING][3][5]
 
std::map< const vtkTextureObject *, intTextureResourceIds
 
int OffScreenUseFrameBuffer
 Flag telling if a framebuffer-based offscreen is currently in use. More...
 
int NumberOfFrameBuffers
 Variables used by the framebuffer-based offscreen method. More...
 
unsigned int TextureObjects [4]
 
unsigned int FrameBufferObject
 
unsigned int DepthRenderBufferObject
 
int HardwareBufferSize [2]
 
bool HardwareOffScreenBuffersBind
 
std::map< std::string, intGLStateIntegers
 
unsigned int BackLeftBuffer
 
unsigned int BackRightBuffer
 
unsigned int FrontLeftBuffer
 
unsigned int FrontRightBuffer
 
unsigned int FrontBuffer
 
unsigned int BackBuffer
 
unsigned int DefaultFrameBufferId
 
int OwnContext
 Flag telling if the context has been created here or was inherited. More...
 
vtkTimeStamp ContextCreationTime
 
vtkTextureUnitManagerTextureUnitManager
 
vtkTextureObjectDrawPixelsTextureObject
 
bool Initialized
 
bool GlewInitValid
 
float MaximumHardwareLineWidth
 
char * Capabilities
 
vtkOpenGLBufferObjectTQuad2DVBO
 
vtkTextureObjectNoiseTextureObject
 
- Protected Attributes inherited from vtkRenderWindow
vtkRendererCollectionRenderers
 
vtkNew< vtkRenderTimerLogRenderTimer
 
vtkTypeBool Borders
 
vtkTypeBool FullScreen
 
int OldScreen [5]
 
vtkTypeBool PointSmoothing
 
vtkTypeBool LineSmoothing
 
vtkTypeBool PolygonSmoothing
 
vtkTypeBool StereoRender
 
int StereoType
 
vtkTypeBool StereoCapableWindow
 
vtkTypeBool AlphaBitPlanes
 
vtkRenderWindowInteractorInteractor
 
unsigned char * StereoBuffer
 
floatAccumulationBuffer
 
unsigned int AccumulationBufferSize
 
unsigned char * ResultFrame
 
vtkTypeBool SwapBuffers
 
double DesiredUpdateRate
 
int AbortRender
 
int InAbortCheck
 
int InRender
 
int NeverRendered
 
int NumberOfLayers
 
int CurrentCursor
 
vtkTypeBool IsPicking
 
float AnaglyphColorSaturation
 
int AnaglyphColorMask [2]
 
int MultiSamples
 
vtkTypeBool StencilCapable
 
int CapturingGL2PSSpecialProps
 
int DeviceIndex
 
bool UseSRGBColorSpace
 
double AbortCheckTime
 The universal time since the last abort check occurred. More...
 
vtkRenderWindowSharedRenderWindow
 
- Protected Attributes inherited from vtkWindow
vtkTypeBool OffScreenRendering
 
char * WindowName
 
int Size [2]
 
int Position [2]
 
vtkTypeBool Mapped
 
vtkTypeBool Erase
 
vtkTypeBool DoubleBuffer
 
int DPI
 
double TileViewport [4]
 
int TileSize [2]
 
int TileScale [2]
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

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

Member Typedef Documentation

◆ Superclass

Definition at line 56 of file vtkOpenGLRenderWindow.h.

Constructor & Destructor Documentation

◆ vtkOpenGLRenderWindow()

vtkOpenGLRenderWindow::vtkOpenGLRenderWindow ( )
protected

◆ ~vtkOpenGLRenderWindow()

vtkOpenGLRenderWindow::~vtkOpenGLRenderWindow ( )
overrideprotected

Member Function Documentation

◆ IsTypeOf()

static vtkTypeBool vtkOpenGLRenderWindow::IsTypeOf ( const char *  type)
static

◆ IsA()

virtual vtkTypeBool 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 vtkOpenVRRenderWindow, vtkExternalOpenGLRenderWindow, vtkCocoaRenderWindow, vtkIOSRenderWindow, vtkEGLRenderWindow, vtkGenericOpenGLRenderWindow, vtkOSOpenGLRenderWindow, vtkXOpenGLRenderWindow, and vtkWin32OpenGLRenderWindow.

◆ SafeDownCast()

static vtkOpenGLRenderWindow* vtkOpenGLRenderWindow::SafeDownCast ( vtkObjectBase o)
static

◆ NewInstanceInternal()

virtual vtkObjectBase* vtkOpenGLRenderWindow::NewInstanceInternal ( ) const
protectedvirtual

◆ NewInstance()

vtkOpenGLRenderWindow* vtkOpenGLRenderWindow::NewInstance ( ) const

◆ PrintSelf()

void vtkOpenGLRenderWindow::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
overridevirtual

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

◆ GetRenderingBackend()

const char* vtkOpenGLRenderWindow::GetRenderingBackend ( )
overridevirtual

What rendering backend has the user requested.

Reimplemented from vtkRenderWindow.

◆ SetGlobalMaximumNumberOfMultiSamples()

static void vtkOpenGLRenderWindow::SetGlobalMaximumNumberOfMultiSamples ( int  val)
static

Set/Get the maximum number of multisamples.

◆ GetGlobalMaximumNumberOfMultiSamples()

static int vtkOpenGLRenderWindow::GetGlobalMaximumNumberOfMultiSamples ( )
static

◆ GetPixelData() [1/2]

unsigned char* vtkOpenGLRenderWindow::GetPixelData ( int  x,
int  y,
int  x2,
int  y2,
int  front,
int  right 
)
overridevirtual

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

Implements vtkWindow.

◆ GetPixelData() [2/2]

int vtkOpenGLRenderWindow::GetPixelData ( int  x,
int  y,
int  x2,
int  y2,
int  front,
vtkUnsignedCharArray data,
int  right 
)
overridevirtual

Implements vtkWindow.

◆ SetPixelData() [1/2]

int vtkOpenGLRenderWindow::SetPixelData ( int  x,
int  y,
int  x2,
int  y2,
unsigned char *  data,
int  front,
int  right 
)
overridevirtual

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

The front argument indicates if the front buffer should be used or the back buffer. It is the caller's responsibility to delete the resulting array. It is very important to realize that the memory in this array is organized from the bottom of the window to the top. The origin of the screen is in the lower left corner. The y axis increases as you go up the screen. So the storage of pixels is from left to right and from bottom to top. (x,y) is any corner of the rectangle. (x2,y2) is its opposite corner on the diagonal.

Implements vtkRenderWindow.

◆ SetPixelData() [2/2]

int vtkOpenGLRenderWindow::SetPixelData ( int  x,
int  y,
int  x2,
int  y2,
vtkUnsignedCharArray data,
int  front,
int  right 
)
overridevirtual

Implements vtkRenderWindow.

◆ GetRGBAPixelData() [1/2]

float* vtkOpenGLRenderWindow::GetRGBAPixelData ( int  x,
int  y,
int  x2,
int  y2,
int  front,
int  right = 0 
)
overridevirtual

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

Implements vtkRenderWindow.

◆ GetRGBAPixelData() [2/2]

int vtkOpenGLRenderWindow::GetRGBAPixelData ( int  x,
int  y,
int  x2,
int  y2,
int  front,
vtkFloatArray data,
int  right = 0 
)
overridevirtual

Implements vtkRenderWindow.

◆ SetRGBAPixelData() [1/2]

int vtkOpenGLRenderWindow::SetRGBAPixelData ( int  x,
int  y,
int  x2,
int  y2,
float data,
int  front,
int  blend = 0,
int  right = 0 
)
overridevirtual

Implements vtkRenderWindow.

◆ SetRGBAPixelData() [2/2]

int vtkOpenGLRenderWindow::SetRGBAPixelData ( int  x,
int  y,
int  x2,
int  y2,
vtkFloatArray data,
int  front,
int  blend = 0,
int  right = 0 
)
overridevirtual

Implements vtkRenderWindow.

◆ ReleaseRGBAPixelData()

void vtkOpenGLRenderWindow::ReleaseRGBAPixelData ( float data)
overridevirtual

Implements vtkRenderWindow.

◆ GetRGBACharPixelData() [1/2]

unsigned char* vtkOpenGLRenderWindow::GetRGBACharPixelData ( int  x,
int  y,
int  x2,
int  y2,
int  front,
int  right = 0 
)
overridevirtual

Implements vtkRenderWindow.

◆ GetRGBACharPixelData() [2/2]

int vtkOpenGLRenderWindow::GetRGBACharPixelData ( int  x,
int  y,
int  x2,
int  y2,
int  front,
vtkUnsignedCharArray data,
int  right = 0 
)
overridevirtual

Implements vtkRenderWindow.

◆ SetRGBACharPixelData() [1/2]

int vtkOpenGLRenderWindow::SetRGBACharPixelData ( int  x,
int  y,
int  x2,
int  y2,
unsigned char *  data,
int  front,
int  blend = 0,
int  right = 0 
)
overridevirtual

Implements vtkRenderWindow.

◆ SetRGBACharPixelData() [2/2]

int vtkOpenGLRenderWindow::SetRGBACharPixelData ( int  x,
int  y,
int  x2,
int  y2,
vtkUnsignedCharArray data,
int  front,
int  blend = 0,
int  right = 0 
)
overridevirtual

Implements vtkRenderWindow.

◆ GetZbufferData() [1/3]

float* vtkOpenGLRenderWindow::GetZbufferData ( int  x1,
int  y1,
int  x2,
int  y2 
)
overridevirtual

Set/Get the zbuffer data from an image.

Implements vtkRenderWindow.

◆ GetZbufferData() [2/3]

int vtkOpenGLRenderWindow::GetZbufferData ( int  x1,
int  y1,
int  x2,
int  y2,
float z 
)
overridevirtual

Implements vtkRenderWindow.

◆ GetZbufferData() [3/3]

int vtkOpenGLRenderWindow::GetZbufferData ( int  x1,
int  y1,
int  x2,
int  y2,
vtkFloatArray z 
)
overridevirtual

Implements vtkRenderWindow.

◆ SetZbufferData() [1/2]

int vtkOpenGLRenderWindow::SetZbufferData ( int  x1,
int  y1,
int  x2,
int  y2,
float buffer 
)
overridevirtual

Implements vtkRenderWindow.

◆ SetZbufferData() [2/2]

int vtkOpenGLRenderWindow::SetZbufferData ( int  x1,
int  y1,
int  x2,
int  y2,
vtkFloatArray buffer 
)
overridevirtual

Implements vtkRenderWindow.

◆ ActivateTexture()

void vtkOpenGLRenderWindow::ActivateTexture ( vtkTextureObject )

Activate a texture unit for this texture.

◆ DeactivateTexture()

void vtkOpenGLRenderWindow::DeactivateTexture ( vtkTextureObject )

Deactivate a previously activated texture.

◆ GetTextureUnitForTexture()

int vtkOpenGLRenderWindow::GetTextureUnitForTexture ( vtkTextureObject )

Get the texture unit for a given texture object.

◆ GetDepthBufferSize()

int vtkOpenGLRenderWindow::GetDepthBufferSize ( )
overridevirtual

Get the size of the depth buffer.

Implements vtkRenderWindow.

◆ GetUsingSRGBColorSpace()

bool vtkOpenGLRenderWindow::GetUsingSRGBColorSpace ( )

Is this window/fo in sRGB colorspace.

◆ GetColorBufferSizes()

int vtkOpenGLRenderWindow::GetColorBufferSizes ( int rgba)
overridevirtual

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.

◆ GetColorBufferInternalFormat()

int vtkOpenGLRenderWindow::GetColorBufferInternalFormat ( int  attachmentPoint)

Get the internal format of current attached texture or render buffer.

attachmentPoint is the index of attachment. Returns 0 if not able to determine.

◆ SetSize() [1/2]

void vtkOpenGLRenderWindow::SetSize ( int  a[2])
overridevirtual

Set the size of the window in screen coordinates in pixels.

Reimplemented from vtkWindow.

Reimplemented in vtkXOpenGLRenderWindow, vtkWin32OpenGLRenderWindow, vtkOpenVRRenderWindow, and vtkOSOpenGLRenderWindow.

◆ SetSize() [2/2]

void vtkOpenGLRenderWindow::SetSize ( int  ,
int   
)
overridevirtual

◆ OpenGLInit()

virtual void vtkOpenGLRenderWindow::OpenGLInit ( )
virtual

Initialize OpenGL for this window.

◆ OpenGLInitState()

virtual void vtkOpenGLRenderWindow::OpenGLInitState ( )
virtual

◆ OpenGLInitContext()

virtual void vtkOpenGLRenderWindow::OpenGLInitContext ( )
virtual

◆ GetOpenGLVersion()

void vtkOpenGLRenderWindow::GetOpenGLVersion ( int major,
int minor 
)

Get the major and minor version numbers of the OpenGL context we are using ala 3.2, 3.3, 4.0, etc...

returns 0,0 if opengl has not been initialized yet

◆ GetBackLeftBuffer()

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.

◆ GetBackRightBuffer()

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.

◆ GetFrontLeftBuffer()

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.

◆ GetFrontRightBuffer()

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.

◆ GetBackBuffer()

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.

◆ GetFrontBuffer()

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.

◆ GetContextCreationTime()

virtual vtkMTimeType vtkOpenGLRenderWindow::GetContextCreationTime ( )
virtual

Get the time when the OpenGL context was created.

◆ GetShaderCache()

virtual vtkOpenGLShaderCache* vtkOpenGLRenderWindow::GetShaderCache ( )
virtual

Returns an Shader Cache object.

◆ GetVBOCache()

virtual vtkOpenGLVertexBufferObjectCache* vtkOpenGLRenderWindow::GetVBOCache ( )
virtual

Returns an Shader Cache object.

◆ GetFrameBufferObject()

virtual unsigned int vtkOpenGLRenderWindow::GetFrameBufferObject ( )
virtual

Returns the current default FBO (0 when OffScreenRendering is inactive).

◆ GetTextureUnitManager()

vtkTextureUnitManager* vtkOpenGLRenderWindow::GetTextureUnitManager ( )

Returns its texture unit manager object.

A new one will be created if one hasn't already been set up.

◆ WaitForCompletion()

void vtkOpenGLRenderWindow::WaitForCompletion ( )
overridevirtual

Block the thread until the actual rendering is finished().

Useful for measurement only.

Implements vtkRenderWindow.

◆ DrawPixels() [1/3]

virtual void vtkOpenGLRenderWindow::DrawPixels ( int  x1,
int  y1,
int  x2,
int  y2,
int  numComponents,
int  dataType,
void *  data 
)
virtual

Replacement for the old glDrawPixels function.

◆ DrawPixels() [2/3]

virtual void vtkOpenGLRenderWindow::DrawPixels ( int  dstXmin,
int  dstYmin,
int  dstXmax,
int  dstYmax,
int  srcXmin,
int  srcYmin,
int  srcXmax,
int  srcYmax,
int  srcWidth,
int  srcHeight,
int  numComponents,
int  dataType,
void *  data 
)
virtual

Replacement for the old glDrawPixels function, but it allows for scaling the data and using only part of the texture.

◆ DrawPixels() [3/3]

virtual void vtkOpenGLRenderWindow::DrawPixels ( int  srcWidth,
int  srcHeight,
int  numComponents,
int  dataType,
void *  data 
)
virtual

Replacement for the old glDrawPixels function.

This simple version draws all the data to the entire current viewport scaling as needed.

◆ GetMaximumHardwareLineWidth()

virtual float vtkOpenGLRenderWindow::GetMaximumHardwareLineWidth ( )
inlinevirtual

Return the largest line width supported by the hardware.

Reimplemented in vtkGenericOpenGLRenderWindow.

Definition at line 308 of file vtkOpenGLRenderWindow.h.

◆ IsPointSpriteBugPresent()

virtual bool vtkOpenGLRenderWindow::IsPointSpriteBugPresent ( )
inlinevirtual

Returns true if driver has an EGL/OpenGL bug that makes vtkChartsCoreCxx-TestChartDoubleColors and other tests to fail because point sprites don't work correctly (gl_PointCoord is undefined) unless glEnable(GL_POINT_SPRITE)

Reimplemented in vtkEGLRenderWindow.

Definition at line 317 of file vtkOpenGLRenderWindow.h.

◆ GetDefaultTextureInternalFormat()

int vtkOpenGLRenderWindow::GetDefaultTextureInternalFormat ( int  vtktype,
int  numComponents,
bool  needInteger,
bool  needFloat,
bool  needSRGB 
)

Get a mapping of vtk data types to native texture formats for this window we put this on the RenderWindow so that every texture does not have to build these structures themselves.

◆ GetOpenGLSupportMessage()

std::string vtkOpenGLRenderWindow::GetOpenGLSupportMessage ( )
inline

Return a message profiding additional details about the results of calling SupportsOpenGL() This can be used to retrieve more specifics about what failed.

Definition at line 336 of file vtkOpenGLRenderWindow.h.

◆ SetUseOffScreenBuffers()

int vtkOpenGLRenderWindow::SetUseOffScreenBuffers ( bool  )
overridevirtual

Create and bind offscreen rendering buffers without destroying the current OpenGL context.

This allows to temporary switch to offscreen rendering (ie. to make a screenshot even if the window is hidden). Return if the creation was successful (1) or not (0). Note: This function requires that the device supports OpenGL framebuffer extension. The function has no effect if OffScreenRendering is ON.

Reimplemented from vtkRenderWindow.

◆ GetUseOffScreenBuffers()

bool vtkOpenGLRenderWindow::GetUseOffScreenBuffers ( )
overridevirtual

Reimplemented from vtkRenderWindow.

◆ SupportsOpenGL()

int vtkOpenGLRenderWindow::SupportsOpenGL ( )
overridevirtual

Does this render window support OpenGL? 0-false, 1-true.

Reimplemented from vtkRenderWindow.

Reimplemented in vtkOpenVRRenderWindow, and vtkOSOpenGLRenderWindow.

◆ ReportCapabilities()

const char* vtkOpenGLRenderWindow::ReportCapabilities ( )
overridevirtual

Get report of capabilities for the render window.

Reimplemented from vtkRenderWindow.

Reimplemented in vtkWin32OpenGLRenderWindow, vtkXOpenGLRenderWindow, vtkOpenVRRenderWindow, and vtkOSOpenGLRenderWindow.

◆ Initialize()

virtual void vtkOpenGLRenderWindow::Initialize ( void   )
inlinevirtual

Initialize the rendering window.

This will setup all system-specific resources. This method and Finalize() must be symmetric and it should be possible to call them multiple times, even changing WindowId in-between. This is what WindowRemap does.

Reimplemented in vtkEGLRenderWindow, vtkOSOpenGLRenderWindow, vtkWin32OpenGLRenderWindow, vtkOpenVRRenderWindow, vtkCocoaRenderWindow, vtkIOSRenderWindow, and vtkXOpenGLRenderWindow.

Definition at line 366 of file vtkOpenGLRenderWindow.h.

◆ RegisterGraphicsResources()

void vtkOpenGLRenderWindow::RegisterGraphicsResources ( vtkGenericOpenGLResourceFreeCallback cb)
inline

Definition at line 370 of file vtkOpenGLRenderWindow.h.

◆ UnregisterGraphicsResources()

void vtkOpenGLRenderWindow::UnregisterGraphicsResources ( vtkGenericOpenGLResourceFreeCallback cb)
inline

Definition at line 379 of file vtkOpenGLRenderWindow.h.

◆ PushContext()

virtual void vtkOpenGLRenderWindow::PushContext ( )
inlinevirtual

Ability to push and pop this window's context as the current context.

The idea being to if needed make this window's context current and when done releasing resources restore the prior context. The default implementation here is only meant as a backup for subclasses that lack a proper implementation.

Reimplemented in vtkCocoaRenderWindow, vtkXOpenGLRenderWindow, and vtkWin32OpenGLRenderWindow.

Definition at line 397 of file vtkOpenGLRenderWindow.h.

◆ PopContext()

virtual void vtkOpenGLRenderWindow::PopContext ( )
inlinevirtual

◆ InitializeFromCurrentContext()

bool vtkOpenGLRenderWindow::InitializeFromCurrentContext ( )
overridevirtual

Initialize the render window from the information associated with the currently activated OpenGL context.

Reimplemented from vtkRenderWindow.

Reimplemented in vtkXOpenGLRenderWindow, and vtkWin32OpenGLRenderWindow.

◆ GetDefaultFrameBufferId()

virtual unsigned int vtkOpenGLRenderWindow::GetDefaultFrameBufferId ( )
virtual

Returns the id for the frame buffer object, if any, used by the render window in which the window does all its rendering.

This may be 0, in which case the render window is rendering to the default OpenGL render buffers.

Returns
the name (or id) of the frame buffer object to render to.

◆ SetSwapControl()

virtual bool vtkOpenGLRenderWindow::SetSwapControl ( int  )
inlinevirtual

Set the number of vertical syncs required between frames.

A value of 0 means swap buffers as quickly as possible regardless of the vertical refresh. A value of 1 means swap buffers in sync with the vertical refresh to eliminate tearing. A value of -1 means use a value of 1 unless we missed a frame in which case swap immediately. Returns true if the call succeeded.

Reimplemented in vtkXOpenGLRenderWindow, and vtkWin32OpenGLRenderWindow.

Definition at line 424 of file vtkOpenGLRenderWindow.h.

◆ GetState()

virtual vtkOpenGLState* vtkOpenGLRenderWindow::GetState ( )
inlinevirtual

Reimplemented in vtkOpenVRRenderWindow.

Definition at line 428 of file vtkOpenGLRenderWindow.h.

◆ GetTQuad2DVBO()

vtkOpenGLBufferObject* vtkOpenGLRenderWindow::GetTQuad2DVBO ( )

◆ GetNoiseTextureUnit()

int vtkOpenGLRenderWindow::GetNoiseTextureUnit ( )

◆ StereoUpdate()

void vtkOpenGLRenderWindow::StereoUpdate ( )
overridevirtual

Update the system, if needed, due to stereo rendering.

For some stereo methods, subclasses might need to switch some hardware settings here.

Reimplemented from vtkRenderWindow.

Reimplemented in vtkOpenVRRenderWindow.

◆ StereoMidpoint()

void vtkOpenGLRenderWindow::StereoMidpoint ( )
overridevirtual

Intermediate method performs operations required between the rendering of the left and right eye.

Reimplemented from vtkRenderWindow.

Reimplemented in vtkOpenVRRenderWindow.

◆ Render()

void vtkOpenGLRenderWindow::Render ( )
overridevirtual

Handle opengl specific code and calls superclass.

Reimplemented from vtkRenderWindow.

Reimplemented in vtkXOpenGLRenderWindow, and vtkOpenVRRenderWindow.

◆ InitializeTextureInternalFormats()

void vtkOpenGLRenderWindow::InitializeTextureInternalFormats ( )
protected

◆ ReadPixels()

virtual int vtkOpenGLRenderWindow::ReadPixels ( const vtkRecti rect,
int  front,
int  glFormat,
int  glType,
void *  data,
int  right = 0 
)
protectedvirtual

Reimplemented in vtkIOSRenderWindow.

◆ CreateHardwareOffScreenWindow()

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)

◆ CreateHardwareOffScreenBuffers()

int vtkOpenGLRenderWindow::CreateHardwareOffScreenBuffers ( int  width,
int  height,
bool  bind = false 
)
protected

◆ BindHardwareOffScreenBuffers()

void vtkOpenGLRenderWindow::BindHardwareOffScreenBuffers ( )
protected

◆ DestroyHardwareOffScreenWindow()

void vtkOpenGLRenderWindow::DestroyHardwareOffScreenWindow ( )
protected

Destroy an offscreen window based on OpenGL framebuffer extension.

Precondition
initialized: OffScreenUseFrameBuffer
Postcondition
destroyed: !OffScreenUseFrameBuffer

◆ UnbindHardwareOffScreenBuffers()

void vtkOpenGLRenderWindow::UnbindHardwareOffScreenBuffers ( )
protected

◆ DestroyHardwareOffScreenBuffers()

void vtkOpenGLRenderWindow::DestroyHardwareOffScreenBuffers ( )
protected

◆ CreateAWindow()

virtual void vtkOpenGLRenderWindow::CreateAWindow ( )
protectedpure virtual

◆ DestroyWindow()

virtual void vtkOpenGLRenderWindow::DestroyWindow ( )
protectedpure virtual

◆ ReleaseGraphicsResources()

virtual void vtkOpenGLRenderWindow::ReleaseGraphicsResources ( vtkRenderWindow )
protectedvirtual

Free up any graphics resources associated with this window a value of NULL means the context may already be destroyed.

Reimplemented in vtkOpenVRRenderWindow.

◆ SetTextureUnitManager()

void vtkOpenGLRenderWindow::SetTextureUnitManager ( vtkTextureUnitManager textureUnitManager)
protected

Set the texture unit manager.

◆ SaveGLState()

void vtkOpenGLRenderWindow::SaveGLState ( )
protected

Query and save OpenGL state.

◆ RestoreGLState()

void vtkOpenGLRenderWindow::RestoreGLState ( )
protected

Restore OpenGL state at end of the rendering.

Member Data Documentation

◆ Resources

std::set<vtkGenericOpenGLResourceFreeCallback *> vtkOpenGLRenderWindow::Resources

Definition at line 366 of file vtkOpenGLRenderWindow.h.

◆ ShaderCache

vtkOpenGLShaderCache* vtkOpenGLRenderWindow::ShaderCache
protected

Definition at line 463 of file vtkOpenGLRenderWindow.h.

◆ VBOCache

vtkOpenGLVertexBufferObjectCache* vtkOpenGLRenderWindow::VBOCache
protected

Definition at line 464 of file vtkOpenGLRenderWindow.h.

◆ State

vtkOpenGLState* vtkOpenGLRenderWindow::State
protected

Definition at line 466 of file vtkOpenGLRenderWindow.h.

◆ OpenGLSupportTested

bool vtkOpenGLRenderWindow::OpenGLSupportTested
protected

Definition at line 470 of file vtkOpenGLRenderWindow.h.

◆ OpenGLSupportResult

int vtkOpenGLRenderWindow::OpenGLSupportResult
protected

Definition at line 471 of file vtkOpenGLRenderWindow.h.

◆ OpenGLSupportMessage

std::string vtkOpenGLRenderWindow::OpenGLSupportMessage
protected

Definition at line 472 of file vtkOpenGLRenderWindow.h.

◆ TextureInternalFormats

int vtkOpenGLRenderWindow::TextureInternalFormats[VTK_UNICODE_STRING][3][5]
protected

Definition at line 474 of file vtkOpenGLRenderWindow.h.

◆ TextureResourceIds

std::map<const vtkTextureObject *, int> vtkOpenGLRenderWindow::TextureResourceIds
protected

Definition at line 477 of file vtkOpenGLRenderWindow.h.

◆ OffScreenUseFrameBuffer

int vtkOpenGLRenderWindow::OffScreenUseFrameBuffer
protected

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

Definition at line 508 of file vtkOpenGLRenderWindow.h.

◆ NumberOfFrameBuffers

int vtkOpenGLRenderWindow::NumberOfFrameBuffers
protected

Variables used by the framebuffer-based offscreen method.

Definition at line 514 of file vtkOpenGLRenderWindow.h.

◆ TextureObjects

unsigned int vtkOpenGLRenderWindow::TextureObjects[4]
protected

Definition at line 515 of file vtkOpenGLRenderWindow.h.

◆ FrameBufferObject

unsigned int vtkOpenGLRenderWindow::FrameBufferObject
protected

Definition at line 516 of file vtkOpenGLRenderWindow.h.

◆ DepthRenderBufferObject

unsigned int vtkOpenGLRenderWindow::DepthRenderBufferObject
protected

Definition at line 517 of file vtkOpenGLRenderWindow.h.

◆ HardwareBufferSize

int vtkOpenGLRenderWindow::HardwareBufferSize[2]
protected

Definition at line 518 of file vtkOpenGLRenderWindow.h.

◆ HardwareOffScreenBuffersBind

bool vtkOpenGLRenderWindow::HardwareOffScreenBuffersBind
protected

Definition at line 519 of file vtkOpenGLRenderWindow.h.

◆ GLStateIntegers

std::map<std::string, int> vtkOpenGLRenderWindow::GLStateIntegers
protected

Definition at line 554 of file vtkOpenGLRenderWindow.h.

◆ BackLeftBuffer

unsigned int vtkOpenGLRenderWindow::BackLeftBuffer
protected

Definition at line 556 of file vtkOpenGLRenderWindow.h.

◆ BackRightBuffer

unsigned int vtkOpenGLRenderWindow::BackRightBuffer
protected

Definition at line 557 of file vtkOpenGLRenderWindow.h.

◆ FrontLeftBuffer

unsigned int vtkOpenGLRenderWindow::FrontLeftBuffer
protected

Definition at line 558 of file vtkOpenGLRenderWindow.h.

◆ FrontRightBuffer

unsigned int vtkOpenGLRenderWindow::FrontRightBuffer
protected

Definition at line 559 of file vtkOpenGLRenderWindow.h.

◆ FrontBuffer

unsigned int vtkOpenGLRenderWindow::FrontBuffer
protected

Definition at line 560 of file vtkOpenGLRenderWindow.h.

◆ BackBuffer

unsigned int vtkOpenGLRenderWindow::BackBuffer
protected

Definition at line 561 of file vtkOpenGLRenderWindow.h.

◆ DefaultFrameBufferId

unsigned int vtkOpenGLRenderWindow::DefaultFrameBufferId
protected

Definition at line 562 of file vtkOpenGLRenderWindow.h.

◆ OwnContext

int vtkOpenGLRenderWindow::OwnContext
protected

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

Definition at line 567 of file vtkOpenGLRenderWindow.h.

◆ ContextCreationTime

vtkTimeStamp vtkOpenGLRenderWindow::ContextCreationTime
protected

Definition at line 569 of file vtkOpenGLRenderWindow.h.

◆ TextureUnitManager

vtkTextureUnitManager* vtkOpenGLRenderWindow::TextureUnitManager
protected

Definition at line 571 of file vtkOpenGLRenderWindow.h.

◆ DrawPixelsTextureObject

vtkTextureObject* vtkOpenGLRenderWindow::DrawPixelsTextureObject
protected

Definition at line 573 of file vtkOpenGLRenderWindow.h.

◆ Initialized

bool vtkOpenGLRenderWindow::Initialized
protected

Definition at line 575 of file vtkOpenGLRenderWindow.h.

◆ GlewInitValid

bool vtkOpenGLRenderWindow::GlewInitValid
protected

Definition at line 576 of file vtkOpenGLRenderWindow.h.

◆ MaximumHardwareLineWidth

float vtkOpenGLRenderWindow::MaximumHardwareLineWidth
protected

Definition at line 578 of file vtkOpenGLRenderWindow.h.

◆ Capabilities

char* vtkOpenGLRenderWindow::Capabilities
protected

Definition at line 580 of file vtkOpenGLRenderWindow.h.

◆ TQuad2DVBO

vtkOpenGLBufferObject* vtkOpenGLRenderWindow::TQuad2DVBO
protected

Definition at line 583 of file vtkOpenGLRenderWindow.h.

◆ NoiseTextureObject

vtkTextureObject* vtkOpenGLRenderWindow::NoiseTextureObject
protected

Definition at line 586 of file vtkOpenGLRenderWindow.h.


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