Equalizer
2.1.0
Parallel Rendering Framework
|
A system window for OpenGL rendering. More...
#include <glWindow.h>
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::FrameBufferObject * | getFrameBufferObject () const override |
EQ_API util::FrameBufferObject * | getFrameBufferObject () 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 SystemWindow * | getSharedContextWindow () 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... | |
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.
EQ_API eq::GLWindow::GLWindow | ( | NotifierInterface & | parent, |
const WindowSettings & | settings | ||
) |
Construct a new OpenGL window.
|
virtual |
Destruct a new OpenGL window.
|
overridevirtual |
|
overridevirtual |
|
virtual |
Destroy the FBO.
|
virtual |
Build and initialize the FBO.
|
overridevirtual |
Unbind the FBO and remove context from current cache.
Implements eq::SystemWindow.
Reimplemented in eq::wgl::Window, eq::glx::Window, and eq::qt::Window.
|
virtual |
De-initialize the GLEW context.
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
|
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.
Reimplemented from eq::SystemWindow.
|
virtual |
Initialize the GLEW context for this window.
EQ_API bool eq::GLWindow::isCurrent | ( | ) | const |
|
overridevirtual |
Bind the FBO and update the current cache.
Implements eq::SystemWindow.
Reimplemented in eq::wgl::Window, eq::glx::Window, and eq::qt::Window.
|
overridevirtual |
|
overridevirtual |