Equalizer  2.1.0
Parallel Rendering Framework
wgl/pipe.h
1 
2 /* Copyright (c) 2009-2011, Stefan Eilemann <eile@equalizergraphics.com>
3  * 2009, Maxim Makhinya
4  * 2010, Daniel Nachbaur <danielnachbaur@gmail.com>
5  *
6  * This library is free software; you can redistribute it and/or modify it under
7  * the terms of the GNU Lesser General Public License version 2.1 as published
8  * by the Free Software Foundation.
9  *
10  * This library is distributed in the hope that it will be useful, but WITHOUT
11  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12  * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
13  * details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with this library; if not, write to the Free Software Foundation, Inc.,
17  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18  */
19 
20 #ifndef EQ_WGL_PIPE_H
21 #define EQ_WGL_PIPE_H
22 
23 #include <eq/api.h>
24 #include <eq/gl.h> // GLEW
25 #include <eq/systemPipe.h> // base class
26 
27 namespace eq
28 {
29 namespace wgl
30 {
32 class Pipe : public SystemPipe
33 {
34 public:
36  EQ_API explicit Pipe(eq::Pipe* parent);
37 
39  EQ_API virtual ~Pipe();
40 
49  EQ_API bool configInit() override;
50 
57  EQ_API void configExit() override;
59 
72  EQ_API bool createWGLAffinityDC(HDC& affinityDC);
73 
82  EQ_API HDC createWGLDisplayDC();
83 
85  WGLEWContext* wglewGetContext() { return _wglewContext; }
86 protected:
96  virtual bool configInitGL() { return true; }
97 private:
99  WGLEWContext* const _wglewContext;
100 
101  bool _configInitWGLEW();
102  bool _getGPUHandle(HGPUNV& handle);
103 };
104 }
105 }
106 #endif // EQ_WGL_PIPE_H
virtual EQ_API ~Pipe()
Destruct this WGL system pipe.
EQ_API bool createWGLAffinityDC(HDC &affinityDC)
Create a device context bound only to the display device of this pipe.
A Pipe represents a graphics card (GPU) on a Node.
Definition: pipe.h:50
Equalizer default implementation of a WGL GPU.
Definition: wgl/pipe.h:32
EQ_API void configExit() override
Deinitialize this pipe for the WGL window system.
EQ_API Pipe(eq::Pipe *parent)
Construct a new WGL system pipe.
EQ_API HDC createWGLDisplayDC()
Create a device context on the display device of this pipe.
The interface definition for system-specific GPU handling.
Definition: systemPipe.h:38
The Equalizer client library.
Definition: eq/agl/types.h:23
virtual bool configInitGL()
Initialize this pipe for OpenGL.
Definition: wgl/pipe.h:96
WGLEWContext * wglewGetContext()
Definition: wgl/pipe.h:85
Includes OpenGL and GLEW headers.
EQ_API bool configInit() override
Initialize this pipe for the WGL window system.