class to be used to add Weaving to OpenGL based SR applications
More...
#include <glweaver.h>
|
| GLWeaverBase () |
|
| ~GLWeaverBase () |
|
GLuint | getFrameBuffer () |
| Returns the buffer that will be used to create a weaved imaged. This buffer expects a side-by-side image. More...
|
|
void | setInputFrameBuffer (GLuint frameBufferID, GLuint renderedTextureID) |
| Sets the buffer that will be used to create a weaved image. More...
|
|
void | setWindowHandle (HWND handle) |
| Sets the window handle of the application window. If the weaver was created using a deprecated constructor, setting window handle has no effect. More...
|
|
bool | canWeave () |
| Used to determine if software weaving is possible on this device. More...
|
|
bool | canWeave (unsigned int width, unsigned int height) |
| Used to determine if software weaving is possible for certain size and visibility to the currently bound framebuffer. More...
|
|
bool | canWeave (unsigned int width, unsigned int height, unsigned int xOffset, unsigned int yOffset) |
| Used to determine if software weaving is possible for certain size and visibility to the currently bound framebuffer. More...
|
|
void | weave (unsigned int width, unsigned int height) |
| Can be called to render a weaved image of a certain size to the currently bound framebuffer. More...
|
|
void | weave (unsigned int width, unsigned int height, unsigned int xOffset, unsigned int yOffset) |
| Can be called to render a weaved image of a certain size to the currently bound framebuffer. More...
|
|
|
std::unique_ptr< Impl > | pimpl |
|
class to be used to add Weaving to OpenGL based SR applications
◆ GLWeaverBase()
SR::GLWeaverBase::GLWeaverBase |
( |
| ) |
|
◆ ~GLWeaverBase()
SR::GLWeaverBase::~GLWeaverBase |
( |
| ) |
|
◆ canWeave() [1/3]
bool SR::GLWeaverBase::canWeave |
( |
| ) |
|
Used to determine if software weaving is possible on this device.
- Deprecated:
- Returns
- bool indicating whether weaving can be done. Returns true when software weaving can be performed by GLWeaver. When false is returned, you can output side-by-side manually or let GLWeaver handle this.
◆ canWeave() [2/3]
bool SR::GLWeaverBase::canWeave |
( |
unsigned int |
width, |
|
|
unsigned int |
height |
|
) |
| |
Used to determine if software weaving is possible for certain size and visibility to the currently bound framebuffer.
- Parameters
-
width | of the image to be rendered to the bound framebuffer |
height | of the image to be rendered to the bound framebuffer |
- Exceptions
-
std::runtime_error | if the window handle (HWND) becomes invalid during the execution of canWeave |
- Returns
- bool indicating whether weaving can be done. Returns true when software weaving can be performed by GLWeaver. When false is returned, you can output side-by-side manually or let GLWeaver handle this.
◆ canWeave() [3/3]
bool SR::GLWeaverBase::canWeave |
( |
unsigned int |
width, |
|
|
unsigned int |
height, |
|
|
unsigned int |
xOffset, |
|
|
unsigned int |
yOffset |
|
) |
| |
Used to determine if software weaving is possible for certain size and visibility to the currently bound framebuffer.
- Parameters
-
width | of the image to be rendered to the bound framebuffer |
height | of the image to be rendered to the bound framebuffer |
xOffset | of the image to be rendered to the bound framebuffer |
yOffset | of the image to be rendered to the bound framebuffer |
- Exceptions
-
std::runtime_error | if the window handle (HWND) becomes invalid during the execution of canWeave |
- Returns
- bool indicating whether weaving can be done. Returns true when software weaving can be performed by GLWeaver. When false is returned, you can output side-by-side manually or let GLWeaver handle this.
◆ getFrameBuffer()
GLuint SR::GLWeaverBase::getFrameBuffer |
( |
| ) |
|
Returns the buffer that will be used to create a weaved imaged. This buffer expects a side-by-side image.
- Returns
- GLuint identifying a buffer generated with
glGenFramebuffers
The buffer identifier can be bound using glBindFramebuffer
to start rendering to it. Rendering to the buffer is identical to normal rendering and often starts with calling glClear
.
◆ setInputFrameBuffer()
void SR::GLWeaverBase::setInputFrameBuffer |
( |
GLuint |
frameBufferID, |
|
|
GLuint |
renderedTextureID |
|
) |
| |
Sets the buffer that will be used to create a weaved image.
- Parameters
-
frameBufferID | ID of the frame buffer object used to render to the weaver input |
renderedTextureID | ID of the texture used as a buffer for the weaver input. This texture needs to be attached as a color attachment of the frame buffer object! |
◆ setWindowHandle()
void SR::GLWeaverBase::setWindowHandle |
( |
HWND |
handle | ) |
|
Sets the window handle of the application window. If the weaver was created using a deprecated constructor, setting window handle has no effect.
- Parameters
-
window | Handle of the application window |
◆ weave() [1/2]
void SR::GLWeaverBase::weave |
( |
unsigned int |
width, |
|
|
unsigned int |
height |
|
) |
| |
Can be called to render a weaved image of a certain size to the currently bound framebuffer.
- Parameters
-
width | of the image to be rendered to the bound framebuffer |
height | of the image to be rendered to the bound framebuffer Should often be preceeded by glBindFramebuffer(GL_FRAMEBUFFER, 0) to start rendering to the default framebuffer again. The relative position of the user to the display in full-screen mode is equal to the direct output of the SR::EyeTracker class. |
◆ weave() [2/2]
void SR::GLWeaverBase::weave |
( |
unsigned int |
width, |
|
|
unsigned int |
height, |
|
|
unsigned int |
xOffset, |
|
|
unsigned int |
yOffset |
|
) |
| |
Can be called to render a weaved image of a certain size to the currently bound framebuffer.
- Parameters
-
width | of the image to be rendered to the bound framebuffer |
height | of the image to be rendered to the bound framebuffer |
xOffset | of the image to be rendered to the bound framebuffer |
yOffset | of the image to be rendered to the bound framebuffer Should often be preceeded by glBindFramebuffer(GL_FRAMEBUFFER, 0) to start rendering to the default framebuffer again. The relative position of the user to the display in full-screen mode is equal to the direct output of the SR::EyeTracker class. |
◆ pimpl
std::unique_ptr<Impl> SR::GLWeaverBase::pimpl |
|
protected |
Suppressing warning because if we don't want to export everything then solving the underlying problem requires modification of the API Warning Description: 'type' : class 'type1' needs to have dll-interface to be used by clients of class 'type2' Candidate for deprecation
The documentation for this class was generated from the following file: