A Window represents an on-screen or off-screen drawable, and manages an OpenGL context. More...
#include <window.h>


Public Types | |
| typedef util::ObjectManager < const void * > | ObjectManager |
| The per-window object manager. | |
| typedef util::BitmapFont < const void * > | Font |
| Fonts used for overlays. | |
Public Member Functions | |
| Window (Pipe *parent) | |
| Construct a new window. | |
| virtual | ~Window () |
| Destruct the window. | |
Data Access | |
| net::CommandQueue * | getPipeThreadQueue () |
| const Pipe * | getPipe () const |
| Pipe * | getPipe () |
| const Node * | getNode () const |
| Node * | getNode () |
| const Config * | getConfig () const |
| Config * | getConfig () |
| ClientPtr | getClient () |
| ServerPtr | getServer () |
| const ChannelVector & | getChannels () const |
| const std::string & | getName () const |
| bool | isRunning () const |
| uint32_t | getTasks () const |
| Return the set of tasks this window's channels might execute in the worst case. | |
| VisitorResult | accept (WindowVisitor &visitor) |
| Traverse this window and all children using a window visitor. | |
| VisitorResult | accept (WindowVisitor &visitor) const |
| Const-version of accept(). | |
| void | setPixelViewport (const PixelViewport &pvp) |
| Set the window's pixel viewport wrt its parent pipe. | |
| const PixelViewport & | getPixelViewport () const |
| const Viewport & | getViewport () const |
| bool | getRenderContext (const int32_t x, const int32_t y, RenderContext &context) const |
| Get the last rendering context at the x, y position. | |
| float | getFPS () const |
OpenGL context handling and sharing | |
| void | setSharedContextWindow (Window *sharedContextWindow) |
| Set the window with which this window shares the OpenGL context. | |
| const Window * | getSharedContextWindow () const |
| Window * | getSharedContextWindow () |
| ObjectManager * | getObjectManager () |
| const ObjectManager * | getObjectManager () const |
| const Font * | getSmallFont () |
| const Font * | getMediumFont () |
| GLEWContext * | glewGetContext () |
| Get the GLEW context for this window. | |
| const DrawableConfig & | getDrawableConfig () const |
| uint32_t | getColorFormat () |
OSWindow interface | |
| void | setOSWindow (OSWindow *window) |
| Set the OS-specific window. | |
| const OSWindow * | getOSWindow () const |
| OSWindow * | getOSWindow () |
| const OSPipe * | getOSPipe () const |
| OSPipe * | getOSPipe () |
Error information. | |
| void | setErrorMessage (const std::string &message) |
| Set a message why the last operation failed. | |
| const std::string & | getErrorMessage () const |
Protected Member Functions | |
| virtual void | attachToSession (const uint32_t id, const uint32_t instanceID, net::Session *session) |
Friends | |
| class | Pipe |
| class | Channel |
Attributes | |
|
| |
| enum | IAttribute { IATTR_HINT_STEREO, IATTR_HINT_DOUBLEBUFFER, IATTR_HINT_FULLSCREEN, IATTR_HINT_DECORATION, IATTR_HINT_SWAPSYNC, IATTR_HINT_DRAWABLE, IATTR_HINT_STATISTICS, IATTR_HINT_SCREENSAVER, IATTR_PLANES_COLOR, IATTR_PLANES_ALPHA, IATTR_PLANES_DEPTH, IATTR_PLANES_STENCIL, IATTR_PLANES_ACCUM, IATTR_PLANES_ACCUM_ALPHA, IATTR_PLANES_SAMPLES, IATTR_FILL1, IATTR_FILL2, IATTR_ALL } |
Window attributes. More... | |
| void | setIAttribute (const IAttribute attr, const int32_t value) |
| Set a window attribute. | |
| int32_t | getIAttribute (const IAttribute attr) const |
| static const std::string & | getIAttributeString (const IAttribute attr) |
Actions | |
|
| |
| virtual void | flush () const |
| Flush outstanding rendering requests. | |
| virtual void | finish () const |
| Finish outstanding rendering requests. | |
| virtual void | makeCurrent (const bool cache=true) const |
| Make the window's drawable and context current. | |
| virtual void | bindFrameBuffer () const |
| Bind the window's FBO, if it uses one. | |
| virtual void | swapBuffers () |
| Swap the front and back buffer of the window. | |
| virtual void | drawFPS () |
| Render the current framerate as on overlay on the window. | |
| void | startFrame (const uint32_t frameNumber) |
| Start a frame by unlocking all child resources. | |
| void | releaseFrame (const uint32_t frameNumber) |
| Signal the completion of a frame to the parent. | |
| void | releaseFrameLocal (const uint32_t frameNumber) |
| Signal the release of the local synchronization to the parent. | |
Callbacks | |
The callbacks are called by Equalizer during rendering to execute various actions. | |
| virtual bool | processEvent (const Event &event) |
| Process a received event. | |
| virtual bool | configInit (const uint32_t initID) |
| Initialize this window. | |
| virtual bool | configInitOSWindow (const uint32_t initID) |
| Initialize the OS-specific window. | |
| virtual bool | configInitGL (const uint32_t initID) |
| Initialize the OpenGL state for this window. | |
| virtual bool | configExit () |
| Exit this window. | |
| virtual bool | configExitOSWindow () |
| De-initialize the OS-specific window. | |
| virtual bool | configExitGL () |
| De-initialize the OpenGL state for this window. | |
| virtual void | frameStart (const uint32_t frameID, const uint32_t frameNumber) |
| Start rendering a frame. | |
| virtual void | frameFinish (const uint32_t frameID, const uint32_t frameNumber) |
| Finish rendering a frame. | |
| virtual void | frameDrawFinish (const uint32_t frameID, const uint32_t frameNumber) |
| Finish drawing. | |
A Window represents an on-screen or off-screen drawable, and manages an OpenGL context.
A window uses an OSWindow implementation to manage the operating system specific handling of window and context creation.
A Window is a child of a Pipe. The task methods for all windows of a pipe are executed in the same pipe thread. All window and subsequent channel task methods are executed in the order the windows are defined on the pipe, with the exception of the swap and finish tasks, which are executed after all windows have been updated. This ensures that all windows of a given pipe swap at the same time.
The default window initialization methods initialize all windows of the same pipe with a shared context, so that OpenGL objects can be reused between them for optimal GPU memory usage. The window facilitates OpenGL object management by providing an ObjectManager for allocating and sharing OpenGL objects.
Please note that each window potentially has its own OpenGL command buffer, thus glFlush is needed to synchronize the state of OpenGL objects between windows. Therefore, Equalizer calls flush() at the end of each frame for each window.
Definition at line 63 of file lib/client/window.h.
| typedef util::ObjectManager< const void* > eq::Window::ObjectManager |
The per-window object manager.
Definition at line 67 of file lib/client/window.h.
| typedef util::BitmapFont< const void* > eq::Window::Font |
Fonts used for overlays.
Definition at line 70 of file lib/client/window.h.
Window attributes.
Most of these attributes are used by the OSWindow implementation to configure the window during configInit(). An OSWindow implementation might not respect all attributes, e.g., IATTR_HINT_SWAPSYNC is not implemented by the GLXWindow.
| IATTR_HINT_STEREO |
Active stereo. |
| IATTR_HINT_DOUBLEBUFFER |
Front and back buffer. |
| IATTR_HINT_FULLSCREEN |
Fullscreen drawable. |
| IATTR_HINT_DECORATION |
Window decorations. |
| IATTR_HINT_SWAPSYNC |
Swap sync on vertical retrace. |
| IATTR_HINT_DRAWABLE |
Window, pbuffer or FBO. |
| IATTR_HINT_STATISTICS |
Statistics gathering hint. |
| IATTR_HINT_SCREENSAVER |
Screensaver (de)activation (WGL). |
| IATTR_PLANES_COLOR |
No of per-component color planes. |
| IATTR_PLANES_ALPHA |
No of alpha planes. |
| IATTR_PLANES_DEPTH |
No of z-buffer planes. |
| IATTR_PLANES_STENCIL |
No of stencil planes. |
| IATTR_PLANES_ACCUM |
No of accumulation buffer planes. |
| IATTR_PLANES_ACCUM_ALPHA |
No of alpha accum buffer planes. |
| IATTR_PLANES_SAMPLES |
No of multisample (AA) planes. |
| IATTR_FILL1 |
Reserved for future extensions. |
| IATTR_FILL2 |
Reserved for future extensions. |
Definition at line 238 of file lib/client/window.h.
| eq::Window::Window | ( | Pipe * | parent | ) |
Construct a new window.
Reimplemented in eqNbody::Window, eqPixelBench::Window, eqPly::Window, and eVolve::Window.
Definition at line 88 of file lib/client/window.cpp.
References EQINFO, and setSharedContextWindow().

| eq::Window::~Window | ( | ) | [virtual] |
Destruct the window.
Reimplemented in eqNbody::Window, eqPly::Window, and eVolve::Window.
Definition at line 109 of file lib/client/window.cpp.
References eq::Pipe::isCurrent(), and eq::Pipe::setCurrent().

| net::CommandQueue * eq::Window::getPipeThreadQueue | ( | ) |
For internal use only.
Definition at line 240 of file lib/client/window.cpp.
Referenced by eq::Channel::attachToSession().

| const Pipe* eq::Window::getPipe | ( | ) | const [inline] |
Definition at line 83 of file lib/client/window.h.
Referenced by eqNbody::Window::configInit(), eVolve::Window::configInitGL(), configInitOSWindow(), eqPly::Window::frameStart(), eq::Channel::getPipe(), eVolve::Window::swapBuffers(), and eqNbody::Window::swapBuffers().

| Pipe* eq::Window::getPipe | ( | ) | [inline] |
Definition at line 85 of file lib/client/window.h.
| const Node * eq::Window::getNode | ( | ) | const |
Definition at line 246 of file lib/client/window.cpp.
Referenced by eq::Channel::getNode().

| Node * eq::Window::getNode | ( | ) |
Definition at line 251 of file lib/client/window.cpp.
| const Config * eq::Window::getConfig | ( | ) | const |
Definition at line 257 of file lib/client/window.cpp.
Referenced by eqPly::Window::configInitGL(), eq::Channel::getConfig(), and processEvent().

| Config * eq::Window::getConfig | ( | ) |
Definition at line 262 of file lib/client/window.cpp.
| ClientPtr eq::Window::getClient | ( | ) |
Definition at line 268 of file lib/client/window.cpp.
| ServerPtr eq::Window::getServer | ( | ) |
Definition at line 273 of file lib/client/window.cpp.
Referenced by eq::Channel::getServer(), and setPixelViewport().

| const ChannelVector& eq::Window::getChannels | ( | ) | const [inline] |
Definition at line 104 of file lib/client/window.h.
Referenced by eVolve::Window::swapBuffers(), and eqNbody::Window::swapBuffers().

| const std::string& eq::Window::getName | ( | ) | const [inline] |
Definition at line 107 of file lib/client/window.h.
Referenced by eqNbody::Window::configInit(), and eq::AGLWindow::configInitAGLWindow().

| bool eq::Window::isRunning | ( | ) | const [inline] |
Definition at line 110 of file lib/client/window.h.
| uint32_t eq::Window::getTasks | ( | ) | const [inline] |
Return the set of tasks this window's channels might execute in the worst case.
It is not guaranteed that all the tasks will be actually executed during rendering.
Definition at line 122 of file lib/client/window.h.
| VisitorResult eq::Window::accept | ( | WindowVisitor & | visitor | ) |
Traverse this window and all children using a window visitor.
| visitor | the visitor. |
Definition at line 324 of file lib/client/window.cpp.
| VisitorResult eq::Window::accept | ( | WindowVisitor & | visitor | ) | const |
Const-version of accept().
Definition at line 329 of file lib/client/window.cpp.
| void eq::Window::setPixelViewport | ( | const PixelViewport & | pvp | ) |
Set the window's pixel viewport wrt its parent pipe.
Updates the fractional viewport of the window and its channels accordingly.
| pvp | the viewport in pixels. |
Definition at line 341 of file lib/client/window.cpp.
References eq::base::RefPtr< T >::get(), getServer(), and eq::net::Object::send().
Referenced by eq::AGLWindow::configInitAGLFullscreen(), eq::GLXWindow::configInitGLXWindow(), processEvent(), eq::AGLWindow::setAGLPBuffer(), eq::AGLWindow::setCarbonWindow(), eq::WGLWindow::setWGLPBufferHandle(), eq::WGLWindow::setWGLWindowHandle(), and eq::GLXWindow::setXDrawable().


| const PixelViewport& eq::Window::getPixelViewport | ( | ) | const [inline] |
Definition at line 148 of file lib/client/window.h.
Referenced by eq::AGLWindow::configInitAGLFullscreen(), eq::AGLWindow::configInitAGLPBuffer(), eq::AGLWindow::configInitAGLWindow(), eq::GLWindow::configInitFBO(), eq::GLXWindow::configInitGLXPBuffer(), eq::GLXWindow::configInitGLXWindow(), eq::WGLWindow::configInitWGLPBuffer(), eq::WGLWindow::configInitWGLWindow(), drawFPS(), and eq::Channel::setupAssemblyState().

| const Viewport& eq::Window::getViewport | ( | ) | const [inline] |
Definition at line 151 of file lib/client/window.h.
| bool eq::Window::getRenderContext | ( | const int32_t | x, | |
| const int32_t | y, | |||
| RenderContext & | context | |||
| ) | const |
Get the last rendering context at the x, y position.
If no render context is found on the given position, false is returned and context is not modified.
Definition at line 403 of file lib/client/window.cpp.
References eq::DrawableConfig::doublebuffered, getDrawableConfig(), and eq::PixelViewport::isPointInside().
Referenced by eq::EventHandler::_getRenderContext().


| float eq::Window::getFPS | ( | ) | const [inline] |
Definition at line 165 of file lib/client/window.h.
Referenced by drawFPS().

| void eq::Window::setSharedContextWindow | ( | Window * | sharedContextWindow | ) | [inline] |
Set the window with which this window shares the OpenGL context.
By default it is set to the first window of the pipe in the window's constructor. The shared context window is used during initialization to setup the OpenGL context and ObjectManager.
Definition at line 177 of file lib/client/window.h.
Referenced by Window().

| const Window* eq::Window::getSharedContextWindow | ( | ) | const [inline] |
Definition at line 181 of file lib/client/window.h.
Referenced by eq::AGLWindow::createAGLContext(), eq::GLXWindow::createGLXContext(), and eq::WGLWindow::createWGLContext().

| Window* eq::Window::getSharedContextWindow | ( | ) | [inline] |
Definition at line 185 of file lib/client/window.h.
| ObjectManager* eq::Window::getObjectManager | ( | ) | [inline] |
Definition at line 188 of file lib/client/window.h.
Referenced by eqPly::Window::configInitGL(), eq::Channel::getObjectManager(), and eVolve::Window::glewGetContext().

| const ObjectManager* eq::Window::getObjectManager | ( | ) | const [inline] |
Definition at line 191 of file lib/client/window.h.
| const Window::Font * eq::Window::getSmallFont | ( | ) |
Definition at line 583 of file lib/client/window.cpp.
References eq::Pipe::getWindowSystem().
Referenced by drawFPS(), and eq::Channel::drawStatistics().


| const Window::Font * eq::Window::getMediumFont | ( | ) |
Definition at line 600 of file lib/client/window.cpp.
References eq::Pipe::getWindowSystem().

| GLEWContext * eq::Window::glewGetContext | ( | ) |
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 Window.
Reimplemented in eVolve::Window.
Definition at line 684 of file lib/client/window.cpp.
References eq::OSWindow::glewGetContext().
Referenced by eq::Channel::glewGetContext().


| const DrawableConfig& eq::Window::getDrawableConfig | ( | ) | const [inline] |
Definition at line 215 of file lib/client/window.h.
Referenced by eqPly::Window::configInitOSWindow(), and getRenderContext().

| uint32_t eq::Window::getColorFormat | ( | ) |
Definition at line 447 of file lib/client/window.cpp.
References getIAttribute(), IATTR_PLANES_COLOR, eq::RGBA16F, and eq::RGBA32F.
Referenced by eq::GLWindow::configInitFBO(), and eq::Channel::frameReadback().


| void eq::Window::setIAttribute | ( | const IAttribute | attr, | |
| const int32_t | value | |||
| ) |
Set a window attribute.
Definition at line 432 of file lib/client/window.cpp.
Referenced by eVolve::Window::configInit(), eqPixelBench::Window::configInit(), and eqPly::Window::configInitOSWindow().

| int32_t eq::Window::getIAttribute | ( | const IAttribute | attr | ) | const |
Definition at line 437 of file lib/client/window.cpp.
Referenced by getColorFormat(), and processEvent().

| const std::string & eq::Window::getIAttributeString | ( | const IAttribute | attr | ) | [static] |
Definition at line 442 of file lib/client/window.cpp.
| virtual void eq::Window::flush | ( | ) | const [inline, virtual] |
Flush outstanding rendering requests.
Called at the end of each frame from frameFinish() to ensure timely execution of pending rendering requests.
Definition at line 279 of file lib/client/window.h.
Referenced by frameFinish().

| virtual void eq::Window::finish | ( | ) | const [inline, virtual] |
Finish outstanding rendering requests.
Called before a software swap barrier to ensure that the window will swap directly after the barrier is left.
Definition at line 287 of file lib/client/window.h.
Referenced by eq::ChannelStatistics::ChannelStatistics(), and eq::ChannelStatistics::~ChannelStatistics().

| void eq::Window::makeCurrent | ( | const bool | cache = true |
) | const [virtual] |
Make the window's drawable and context current.
GL drivers tend to be behave sub-optimally if two many makeCurrent calls happen in a multi-threaded program. When caching is enabled, this method will only call OSWindow::makeCurrent if it has not been done before for this window.
Definition at line 664 of file lib/client/window.cpp.
References eq::Pipe::isCurrent(), and eq::OSWindow::makeCurrent().
Referenced by setOSWindow().


| void eq::Window::bindFrameBuffer | ( | ) | const [virtual] |
Bind the window's FBO, if it uses one.
Definition at line 673 of file lib/client/window.cpp.
References eq::OSWindow::bindFrameBuffer().
Referenced by eq::Channel::bindFrameBuffer().


| void eq::Window::swapBuffers | ( | ) | [virtual] |
Swap the front and back buffer of the window.
Reimplemented in eqNbody::Window, and eVolve::Window.
Definition at line 678 of file lib/client/window.cpp.
References EQVERB, and eq::OSWindow::swapBuffers().
Referenced by configInitGL().


| void eq::Window::drawFPS | ( | ) | [virtual] |
Render the current framerate as on overlay on the window.
Definition at line 199 of file lib/client/window.cpp.
References getFPS(), getPixelViewport(), and getSmallFont().
Referenced by eq::Channel::drawStatistics().


| void eq::Window::setOSWindow | ( | OSWindow * | window | ) |
Set the OS-specific window.
The OSWindow implements the window-system-dependent part, e.g., the drawable creation. This window forwards certain calls, e.g., swapBuffers(), to the OSWindow. The os-specific window has to be initialized.
Definition at line 457 of file lib/client/window.cpp.
References makeCurrent(), and eq::OSWindow::queryDrawableConfig().
Referenced by configInitOSWindow().


| const OSWindow* eq::Window::getOSWindow | ( | ) | const [inline] |
Definition at line 322 of file lib/client/window.h.
Referenced by eq::Channel::applyBuffer(), eq::Channel::bindFrameBuffer(), eq::AGLWindow::createAGLContext(), eq::GLXWindow::createGLXContext(), and eq::WGLWindow::createWGLContext().

| OSWindow* eq::Window::getOSWindow | ( | ) | [inline] |
Definition at line 324 of file lib/client/window.h.
| const OSPipe * eq::Window::getOSPipe | ( | ) | const |
Definition at line 470 of file lib/client/window.cpp.
Referenced by eq::WGLWindowIF::wglewGetContext().

| OSPipe * eq::Window::getOSPipe | ( | ) |
Definition at line 476 of file lib/client/window.cpp.
| void eq::Window::setErrorMessage | ( | const std::string & | message | ) |
Set a message why the last operation failed.
The message will be transmitted to the originator of the request, for example to Config::init when called from the configInit() method.
| message | the error message. |
Definition at line 699 of file lib/client/window.cpp.
Referenced by eq::AGLWindow::chooseAGLPixelFormat(), eq::WGLWindow::chooseWGLPixelFormat(), eq::GLXWindow::chooseXVisualInfo(), configInit(), eq::WGLWindow::configInit(), eq::GLXWindow::configInit(), eq::AGLWindow::configInitAGLFullscreen(), eq::AGLWindow::configInitAGLPBuffer(), eq::AGLWindow::configInitAGLWindow(), eq::GLWindow::configInitFBO(), eVolve::Window::configInitGL(), eq::GLXWindow::configInitGLXPBuffer(), eq::GLXWindow::configInitGLXWindow(), eq::WGLWindow::configInitWGLFBO(), eq::WGLWindow::configInitWGLPBuffer(), eq::WGLWindow::configInitWGLWindow(), eq::AGLWindow::createAGLContext(), eq::GLXWindow::createGLXContext(), eq::WGLWindow::createWGLContext(), eq::GLWindow::initGLEW(), and eq::GLXWindow::initGLXEW().

| const std::string & eq::Window::getErrorMessage | ( | ) | const |
Definition at line 704 of file lib/client/window.cpp.
Referenced by eq::GLXWindow::configInit().

| bool eq::Window::processEvent | ( | const Event & | event | ) | [virtual] |
Process a received event.
The task of this method is to update the window as necessary, and transform the event into an config event to be send to the application using Config::sendEvent().
| event | the received window system event. |
Definition at line 712 of file lib/client/window.cpp.
References eq::DrawableConfig::doublebuffered, EQWARN, getConfig(), getIAttribute(), IATTR_HINT_DRAWABLE, IATTR_HINT_SCREENSAVER, eq::Event::key, eq::Event::KEY_PRESS, eq::Event::KEY_RELEASE, eq::OFF, eq::ON, eq::Event::POINTER_BUTTON_PRESS, eq::Event::POINTER_BUTTON_RELEASE, eq::Event::POINTER_MOTION, eq::Event::resize, eq::Config::sendEvent(), setPixelViewport(), eq::Event::STATISTIC, eq::Event::type, eq::WINDOW, eq::Event::WINDOW_CLOSE, eq::Event::WINDOW_EXPOSE, eq::Event::WINDOW_HIDE, eq::Event::WINDOW_RESIZE, eq::Event::WINDOW_SCREENSAVER, and eq::Event::WINDOW_SHOW.
Referenced by eq::WGLWindowIF::processEvent(), and eq::AGLWindowIF::processEvent().


| void eq::Window::attachToSession | ( | const uint32_t | id, | |
| const uint32_t | instanceID, | |||
| net::Session * | session | |||
| ) | [protected, virtual] |
For internal use only.
Reimplemented from eq::net::Object.
Definition at line 120 of file lib/client/window.cpp.
References eq::net::Dispatcher::registerCommand().

| void eq::Window::startFrame | ( | const uint32_t | frameNumber | ) | [inline, protected] |
Start a frame by unlocking all child resources.
| frameNumber | the frame to start. |
Definition at line 384 of file lib/client/window.h.
Referenced by frameStart().

| void eq::Window::releaseFrame | ( | const uint32_t | frameNumber | ) | [inline, protected] |
Signal the completion of a frame to the parent.
| frameNumber | the frame to end. |
Definition at line 391 of file lib/client/window.h.
Referenced by frameFinish().

| void eq::Window::releaseFrameLocal | ( | const uint32_t | frameNumber | ) | [inline, protected] |
Signal the release of the local synchronization to the parent.
| frameNumber | the frame to release. |
Definition at line 398 of file lib/client/window.h.
Referenced by frameDrawFinish().

| bool eq::Window::configInit | ( | const uint32_t | initID | ) | [protected, virtual] |
Initialize this window.
| initID | the init identifier. |
Reimplemented in eqNbody::Window, eqPixelBench::Window, and eVolve::Window.
Definition at line 492 of file lib/client/window.cpp.
References configInitGL(), configInitOSWindow(), eq::PixelViewport::isValid(), and setErrorMessage().
Referenced by eqNbody::Window::configInit().


| bool eq::Window::configInitOSWindow | ( | const uint32_t | initID | ) | [protected, virtual] |
Initialize the OS-specific window.
Reimplemented in eqPly::Window.
Definition at line 508 of file lib/client/window.cpp.
References eq::OSWindow::configInit(), EQERROR, EQINFO, EQWARN, getPipe(), eq::Pipe::getWindowSystem(), setOSWindow(), eq::WINDOW_SYSTEM_AGL, eq::WINDOW_SYSTEM_GLX, and eq::WINDOW_SYSTEM_WGL.
Referenced by configInit(), and eqPly::Window::configInitOSWindow().


| bool eq::Window::configInitGL | ( | const uint32_t | initID | ) | [protected, virtual] |
Initialize the OpenGL state for this window.
| initID | the init identifier. |
true if the initialization was successful, false if not. Reimplemented in eqPly::Window, and eVolve::Window.
Definition at line 615 of file lib/client/window.cpp.
References swapBuffers().
Referenced by configInit(), and eqPly::Window::configInitGL().


| bool eq::Window::configExit | ( | ) | [protected, virtual] |
Exit this window.
Definition at line 640 of file lib/client/window.cpp.
References configExitGL(), and configExitOSWindow().

| bool eq::Window::configExitOSWindow | ( | ) | [protected, virtual] |
De-initialize the OS-specific window.
Definition at line 646 of file lib/client/window.cpp.
References eq::OSWindow::configExit(), eq::Pipe::isCurrent(), and eq::Pipe::setCurrent().
Referenced by configExit(), and eqPly::Window::configInitOSWindow().


| virtual bool eq::Window::configExitGL | ( | ) | [inline, protected, virtual] |
De-initialize the OpenGL state for this window.
Reimplemented in eqPly::Window.
Definition at line 439 of file lib/client/window.h.
Referenced by configExit().

| virtual void eq::Window::frameStart | ( | const uint32_t | frameID, | |
| const uint32_t | frameNumber | |||
| ) | [inline, protected, virtual] |
Start rendering a frame.
Called once at the beginning of each frame, to do per-frame updates of window-specific data. This method has to call startFrame().
| frameID | the per-frame identifier. | |
| frameNumber | the frame to start. |
Reimplemented in eqPly::Window.
Definition at line 451 of file lib/client/window.h.
References startFrame().

| void eq::Window::frameFinish | ( | const uint32_t | frameID, | |
| const uint32_t | frameNumber | |||
| ) | [protected, virtual] |
Finish rendering a frame.
Called once at the end of each frame, to do per-frame updates of window-specific data. This method has to call releaseFrame(). The default implementation also flushes all rendering commands. This light-weight call ensures that all outstanding rendering commands for the window's context are being executed in a timely fashion.
| frameID | the per-frame identifier. | |
| frameNumber | the frame to finish. |
Definition at line 482 of file lib/client/window.cpp.
References flush(), and releaseFrame().

| virtual void eq::Window::frameDrawFinish | ( | const uint32_t | frameID, | |
| const uint32_t | frameNumber | |||
| ) | [inline, protected, virtual] |
Finish drawing.
Called once per frame after the last draw operation. Typically releases the local node thread synchronization for this frame.
| frameID | the per-frame identifier. | |
| frameNumber | the frame to finished with draw. |
Definition at line 479 of file lib/client/window.h.
References releaseFrameLocal().

0.9.1 by
1.6.1