Equalizer  2.1.0
Parallel Rendering Framework
eq::GLWindow Class Referenceabstract

A system window for OpenGL rendering. More...

#include <glWindow.h>

+ Inheritance diagram for eq::GLWindow:
+ Collaboration diagram for eq::GLWindow:

Public Member Functions

EQ_API GLWindow (NotifierInterface &parent, const WindowSettings &settings)
 Construct a new OpenGL window. More...
 
virtual EQ_API ~GLWindow ()
 Destruct a new OpenGL window. More...
 
EQ_API void resize (const PixelViewport &pvp) override
 Resize the underlying FBO(s)
 
EQ_API void makeCurrent (const bool cache=true) const override
 Bind the FBO and update the current cache. More...
 
EQ_API void doneCurrent () const override
 Unbind the FBO and remove context from current cache. More...
 
EQ_API bool isCurrent () const
 
virtual EQ_API void initGLEW ()
 Initialize the GLEW context for this window. More...
 
virtual EQ_API void exitGLEW ()
 De-initialize the GLEW context. More...
 
EQ_API const GLEWContext * glewGetContext () const override
 Get the GLEW context for this window. More...
 
EQ_API void queryDrawableConfig (DrawableConfig &) override
 Set up the drawable config by querying the current context. More...
 
Frame Buffer Object support.
EQ_API void bindFrameBuffer () const override
 Bind the window's FBO, if it uses an FBO drawable. More...
 
EQ_API void bindDrawFrameBuffer () const override
 Bind the window's draw FBO, used for multisampling. More...
 
EQ_API void updateFrameBuffer () const override
 Update the window's FBO from the multisampled FBO. More...
 
EQ_API void flush () override
 Flush all command buffers. More...
 
EQ_API void finish () override
 Finish execution of all commands. More...
 
virtual EQ_API bool configInitFBO ()
 Build and initialize the FBO. More...
 
virtual EQ_API void configExitFBO ()
 Destroy the FBO. More...
 
EQ_API const util::FrameBufferObjectgetFrameBufferObject () const override
 
EQ_API util::FrameBufferObjectgetFrameBufferObject () override
 
- Public Member Functions inherited from eq::SystemWindow
EQ_API SystemWindow (NotifierInterface &parent, const WindowSettings &settings)
 Create a new SystemWindow for the given eq::Window. More...
 
virtual EQ_API ~SystemWindow ()
 Destroy the SystemWindow. More...
 
EQ_API EventOCommand sendError (const uint32_t error)
 Send a window error event to the application node. More...
 
EQ_API bool processEvent (EventType type)
 Process a stateless event. More...
 
EQ_API bool processEvent (EventType type, SizeEvent &event)
 Process a (re)size event. More...
 
EQ_API bool processEvent (EventType type, PointerEvent &event)
 Process a mouse event. More...
 
EQ_API bool processEvent (EventType type, KeyEvent &event)
 Process a keyboard event. More...
 
EQ_API bool processEvent (AxisEvent &event)
 Process an axis event. More...
 
EQ_API bool processEvent (ButtonEvent &event)
 Process a button event. More...
 
EQ_API void setPixelViewport (const PixelViewport &pvp)
 Set the window's pixel viewport wrt its parent pipe. More...
 
EQ_API const PixelViewport & getPixelViewport () const
 
EQ_API uint32_t getColorFormat () const
 
EQ_API void setName (const std::string &name)
 Set the window's name. More...
 
EQ_API const std::string & getName () const
 
EQ_API int32_t getIAttribute (const WindowSettings::IAttribute attr) const
 
EQ_API const SystemWindowgetSharedContextWindow () const
 
virtual EQ_API bool configInit ()=0
 Initialize this system window. More...
 
virtual EQ_API void configExit ()=0
 De-initialize this system window. More...
 
virtual EQ_API void swapBuffers ()=0
 Swap the front and back buffer. More...
 
virtual EQ_API void joinNVSwapBarrier (const uint32_t group, const uint32_t barrier)=0
 Join a NV_swap_group. More...
 

Detailed Description

A system window for OpenGL rendering.

The GLWindow implements all generic OpenGL functionality for a SystemWindow. It is subclassed by OS-specific implementations which provide the the glue to the actual window system.

Definition at line 39 of file glWindow.h.

Constructor & Destructor Documentation

EQ_API eq::GLWindow::GLWindow ( NotifierInterface parent,
const WindowSettings settings 
)

Construct a new OpenGL window.

Version
1.7.2
virtual EQ_API eq::GLWindow::~GLWindow ( )
virtual

Destruct a new OpenGL window.

Version
1.0

Member Function Documentation

EQ_API void eq::GLWindow::bindDrawFrameBuffer ( ) const
overridevirtual

Bind the window's draw FBO, used for multisampling.

Version
1.9

Implements eq::SystemWindow.

EQ_API void eq::GLWindow::bindFrameBuffer ( ) const
overridevirtual

Bind the window's FBO, if it uses an FBO drawable.

Version
1.0

Implements eq::SystemWindow.

virtual EQ_API void eq::GLWindow::configExitFBO ( )
virtual

Destroy the FBO.

Version
1.0
virtual EQ_API bool eq::GLWindow::configInitFBO ( )
virtual

Build and initialize the FBO.

Version
1.0
EQ_API void eq::GLWindow::doneCurrent ( ) const
overridevirtual

Unbind the FBO and remove context from current cache.

Version
1.10

Implements eq::SystemWindow.

Reimplemented in eq::wgl::Window, eq::glx::Window, and eq::qt::Window.

virtual EQ_API void eq::GLWindow::exitGLEW ( )
virtual

De-initialize the GLEW context.

Version
1.0
EQ_API void eq::GLWindow::finish ( )
overridevirtual

Finish execution of all commands.

Version
1.5.2

Implements eq::SystemWindow.

EQ_API void eq::GLWindow::flush ( )
overridevirtual

Flush all command buffers.

Version
1.5.2

Implements eq::SystemWindow.

EQ_API const util::FrameBufferObject* eq::GLWindow::getFrameBufferObject ( ) const
overridevirtual
Returns
the FBO of this window, or 0.
Version
1.0

Reimplemented from eq::SystemWindow.

EQ_API util::FrameBufferObject* eq::GLWindow::getFrameBufferObject ( )
overridevirtual
Returns
the FBO of this window, or 0.
Version
1.9

Reimplemented from eq::SystemWindow.

EQ_API const GLEWContext* eq::GLWindow::glewGetContext ( ) const
overridevirtual

Get the GLEW context for this window.

The glew context is initialized during window initialization, and provides access to OpenGL extensions. This function does not follow the Equalizer naming conventions, since GLEW uses a function of this name to automatically resolve OpenGL function entry points. Therefore, any supported GL function can be called directly from an initialized GLWindow.

Returns
the OpenGL function table for the window's OpenGL context
Version
1.0

Reimplemented from eq::SystemWindow.

virtual EQ_API void eq::GLWindow::initGLEW ( )
virtual

Initialize the GLEW context for this window.

Version
1.0
EQ_API bool eq::GLWindow::isCurrent ( ) const
Returns
true if this window was last made current in this thread.
Version
1.3.2
EQ_API void eq::GLWindow::makeCurrent ( const bool  cache = true) const
overridevirtual

Bind the FBO and update the current cache.

Version
1.0

Implements eq::SystemWindow.

Reimplemented in eq::wgl::Window, eq::glx::Window, and eq::qt::Window.

EQ_API void eq::GLWindow::queryDrawableConfig ( DrawableConfig &  )
overridevirtual

Set up the drawable config by querying the current context.

Version
1.0

Implements eq::SystemWindow.

EQ_API void eq::GLWindow::updateFrameBuffer ( ) const
overridevirtual

Update the window's FBO from the multisampled FBO.

Version
1.9

Implements eq::SystemWindow.


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