LeiaSR SDK 720218b2 v1.32.7.6322 2025-02-13T14:55:38Z
Stable
|
class to be used to add Weaving to OpenGL based SR applications More...
#include <glweaver.h>
Public Member Functions | |
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... | |
void | setContrast (float contrast) |
Sets the weaving contrast. More... | |
float | getContrast () const |
Gets the current weaving contrast. More... | |
void | setShaderSRGBConversion (bool read, bool write) |
Sets whether to apply shader sRGB<->Linear color space conversions to the input framebuffer during weaving. More... | |
void | setACTMode (WeaverACTMode mode) |
Sets the anti-crosstalk mode. More... | |
WeaverACTMode | getACTMode () const |
Gets the anti-crosstalk mode. More... | |
void | setCrosstalkStaticFactor (float factor) |
Sets the anti-crosstalk factor. More... | |
float | getCrosstalkStaticFactor () const |
Gets the anti-crosstalk factor. More... | |
void | setCrosstalkDynamicFactor (float factor) |
Sets the anti-crosstalk dynamic factor. More... | |
float | getCrosstalkDynamicFactor () const |
Gets the anti-crosstalk dynamic factor. 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... | |
void | enableLateLatching (bool enable) |
Enables late latching. Note that late latching requires applications to call weave() once per frame, and does not work with deferred contexts. More... | |
bool | isLateLatchingEnabled () const |
Determines if late latching is enabled. More... | |
Protected Attributes | |
std::unique_ptr< Impl > | pimpl |
class to be used to add Weaving to OpenGL based SR applications
SR::GLWeaverBase::GLWeaverBase | ( | ) |
SR::GLWeaverBase::~GLWeaverBase | ( | ) |
bool SR::GLWeaverBase::canWeave | ( | ) |
Used to determine if software weaving is possible on this device.
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.
width | of the image to be rendered to the bound framebuffer |
height | of the image to be rendered to the bound framebuffer |
std::runtime_error | if the window handle (HWND) becomes invalid during the execution of canWeave |
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.
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 |
std::runtime_error | if the window handle (HWND) becomes invalid during the execution of canWeave |
void SR::GLWeaverBase::enableLateLatching | ( | bool | enable | ) |
Enables late latching. Note that late latching requires applications to call weave() once per frame, and does not work with deferred contexts.
WeaverACTMode SR::GLWeaverBase::getACTMode | ( | ) | const |
Gets the anti-crosstalk mode.
float SR::GLWeaverBase::getContrast | ( | ) | const |
Gets the current weaving contrast.
float SR::GLWeaverBase::getCrosstalkDynamicFactor | ( | ) | const |
Gets the anti-crosstalk dynamic factor.
float SR::GLWeaverBase::getCrosstalkStaticFactor | ( | ) | const |
Gets the anti-crosstalk factor.
GLuint SR::GLWeaverBase::getFrameBuffer | ( | ) |
Returns the buffer that will be used to create a weaved imaged. This buffer expects a side-by-side image.
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
.
bool SR::GLWeaverBase::isLateLatchingEnabled | ( | ) | const |
Determines if late latching is enabled.
void SR::GLWeaverBase::setACTMode | ( | WeaverACTMode | mode | ) |
Sets the anti-crosstalk mode.
void SR::GLWeaverBase::setContrast | ( | float | contrast | ) |
Sets the weaving contrast.
void SR::GLWeaverBase::setCrosstalkDynamicFactor | ( | float | factor | ) |
Sets the anti-crosstalk dynamic factor.
void SR::GLWeaverBase::setCrosstalkStaticFactor | ( | float | factor | ) |
Sets the anti-crosstalk factor.
Sets the buffer that will be used to create a weaved image.
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! |
void SR::GLWeaverBase::setShaderSRGBConversion | ( | bool | read, |
bool | write | ||
) |
Sets whether to apply shader sRGB<->Linear color space conversions to the input framebuffer during weaving.
read | Convert from sRGB to Linear color space before weaving. |
write | Convert from Linear to sRGB color space after weaving. |
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.
window | Handle of the application window |
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.
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. |
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.
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. |
|
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