SGCT master (487fac4)
Simple Graphics Cluster Toolkit
Loading...
Searching...
No Matches
sgct::SphericalMirrorProjection Class Referencefinal

This class manages and renders non-linear fisheye projections. More...

#include <sgct/projection/sphericalmirror.h>

Inheritance diagram for sgct::SphericalMirrorProjection:
Collaboration diagram for sgct::SphericalMirrorProjection:

Public Member Functions

 SphericalMirrorProjection (const config::SphericalMirrorProjection &config, const Window &parent, User &user)
 ~SphericalMirrorProjection () final
void update (const vec2 &size) const override
void render (const BaseViewport &viewport, FrustumMode frustumMode) const override
 Render the non linear projection to currently bounded FBO.
void renderCubemap (FrustumMode frustumMode) const override
 Render the enabled faces of the cubemap.
void setTilt (float angle)
 Set the dome tilt angle used in the spherical mirror renderer.
Public Member Functions inherited from sgct::NonLinearProjection
 NonLinearProjection (const Window &parent)
virtual ~NonLinearProjection ()
virtual void initialize (unsigned int internalFormat, int nSamples)
 Initialize the non-linear projection.
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

Additional Inherited Members

Public Types inherited from sgct::NonLinearProjection
enum class  InterpolationMode : uint8_t { Linear , Cubic }
Protected Member Functions inherited from sgct::NonLinearProjection
virtual void initFBO (unsigned int internalFormat, int nSamples)
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 inherited from sgct::NonLinearProjection
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

Detailed Description

This class manages and renders non-linear fisheye projections.

Constructor & Destructor Documentation

◆ SphericalMirrorProjection()

sgct::SphericalMirrorProjection::SphericalMirrorProjection ( const config::SphericalMirrorProjection & config,
const Window & parent,
User & user )

◆ ~SphericalMirrorProjection()

sgct::SphericalMirrorProjection::~SphericalMirrorProjection ( )
final

Member Function Documentation

◆ render()

void sgct::SphericalMirrorProjection::render ( const BaseViewport & viewport,
FrustumMode frustumMode ) const
overridevirtual

Render the non linear projection to currently bounded FBO.

Implements sgct::NonLinearProjection.

◆ renderCubemap()

void sgct::SphericalMirrorProjection::renderCubemap ( FrustumMode frustumMode) const
overridevirtual

Render the enabled faces of the cubemap.

Implements sgct::NonLinearProjection.

◆ setTilt()

void sgct::SphericalMirrorProjection::setTilt ( float angle)

Set the dome tilt angle used in the spherical mirror renderer.

The tilt angle is from the horizontal.

Parameters
angleThe tilt angle in degrees

◆ update()

void sgct::SphericalMirrorProjection::update ( const vec2 & size) const
overridevirtual

The documentation for this class was generated from the following file: