![]() |
SGCT master (487fac4)
Simple Graphics Cluster Toolkit
|
Base class for non-linear projections. More...
#include <sgct/projection/nonlinearprojection.h>


Public Types | |
| enum class | InterpolationMode : uint8_t { Linear , Cubic } |
Public Member Functions | |
| NonLinearProjection (const Window &parent) | |
| virtual | ~NonLinearProjection () |
| virtual void | initialize (unsigned int internalFormat, int nSamples) |
| Initialize the non-linear projection. | |
| virtual void | render (const BaseViewport &viewport, FrustumMode frustumMode) const =0 |
| virtual void | renderCubemap (FrustumMode frustumMode) const =0 |
| virtual void | update (const vec2 &size) const =0 |
| virtual void | updateFrustums (FrustumMode mode, float nearClip, float farClip) |
| void | setCubemapResolution (int resolution) |
| Set the resolution of the cubemap faces. | |
| void | setInterpolationMode (InterpolationMode im) |
| Set the interpolation mode. | |
| void | setUseDepthTransformation (bool state) |
| Set if depth should be re-calculated to match the non-linear projection. | |
| void | setStereo (bool state) |
| Set if stereoscopic rendering will be enabled. | |
| virtual void | setUser (User &user) |
| ivec2 | cubemapResolution () const |
Protected Member Functions | |
| virtual void | initTextures (unsigned int internalFormat) |
| virtual void | initFBO (unsigned int internalFormat, int nSamples) |
| virtual void | initVBO ()=0 |
| virtual void | initViewports ()=0 |
| virtual void | initShaders ()=0 |
| void | setupViewport (const BaseViewport &vp) const |
| void | generateMap (unsigned int &texture, unsigned int internalFormat) |
| void | generateCubeMap (unsigned int &texture, unsigned int internalFormat) |
| void | attachTextures (int face) const |
| void | blitCubeFace (int face) const |
| void | renderCubeFace (const BaseViewport &vp, int idx, FrustumMode mode) const |
Protected Attributes | |
| struct sgct::NonLinearProjection:: { ... } | _textures |
| struct sgct::NonLinearProjection:: { ... } | _subViewports |
| InterpolationMode | _interpolationMode = InterpolationMode::Linear |
| FrustumMode | _preferedMonoFrustumMode = FrustumMode::Mono |
| bool | _useDepthTransformation = false |
| bool | _isStereo = false |
| ivec2 | _cubemapResolution = ivec2(512, 512) |
| vec4 | _clearColor = vec4(0.3f, 0.3f, 0.3f, 1.f) |
| std::unique_ptr< OffScreenBuffer > | _cubeMapFbo |
Base class for non-linear projections.
|
strong |
|
explicit |
|
virtual |
|
protected |
|
protected |
| ivec2 sgct::NonLinearProjection::cubemapResolution | ( | ) | const |
|
protected |
|
protected |
|
protectedvirtual |
|
virtual |
Initialize the non-linear projection.
The arguments should match the texture settings for the parent window's FBO target.
|
protectedpure virtual |
|
protectedvirtual |
|
protectedpure virtual |
|
protectedpure virtual |
|
pure virtual |
|
protected |
|
pure virtual |
| void sgct::NonLinearProjection::setCubemapResolution | ( | int | resolution | ) |
Set the resolution of the cubemap faces.
| resolution | The pixel resolution of each quad |
| void sgct::NonLinearProjection::setInterpolationMode | ( | InterpolationMode | im | ) |
Set the interpolation mode.
| im | The selected mode |
| void sgct::NonLinearProjection::setStereo | ( | bool | state | ) |
Set if stereoscopic rendering will be enabled.
|
protected |
| void sgct::NonLinearProjection::setUseDepthTransformation | ( | bool | state | ) |
Set if depth should be re-calculated to match the non-linear projection.
|
virtual |
|
pure virtual |
|
virtual |
|
protected |
|
protected |
|
protected |
|
protected |
| struct { ... } sgct::NonLinearProjection::_subViewports |
| struct { ... } sgct::NonLinearProjection::_textures |
|
protected |