9#ifndef __SGCT__NONLINEARPROJECTION__H__
10#define __SGCT__NONLINEARPROJECTION__H__
12#include <sgct/sgctexports.h>
39 virtual void initialize(
unsigned int internalFormat,
int nSamples);
80 virtual void initFBO(
unsigned int internalFormat,
int nSamples);
86 void generateMap(
unsigned int& texture,
unsigned int internalFormat);
94 unsigned int cubeMapColor = 0;
95 unsigned int cubeMapDepth = 0;
96 unsigned int cubeMapNormals = 0;
97 unsigned int cubeMapPositions = 0;
98 unsigned int colorSwap = 0;
99 unsigned int depthSwap = 0;
100 unsigned int cubeFaceRight = 0;
101 unsigned int cubeFaceLeft = 0;
102 unsigned int cubeFaceBottom = 0;
103 unsigned int cubeFaceTop = 0;
104 unsigned int cubeFaceFront = 0;
105 unsigned int cubeFaceBack = 0;
This class holds and manages viewportdata and calculates frustums.
Definition baseviewport.h:27
ivec2 cubemapResolution() const
virtual void initTextures(unsigned int internalFormat)
bool _useDepthTransformation
Definition nonlinearprojection.h:120
std::unique_ptr< OffScreenBuffer > _cubeMapFbo
Definition nonlinearprojection.h:126
InterpolationMode _interpolationMode
Definition nonlinearprojection.h:117
virtual void render(const BaseViewport &viewport, FrustumMode frustumMode) const =0
virtual void initialize(unsigned int internalFormat, int nSamples)
Initialize the non-linear projection.
FrustumMode _preferedMonoFrustumMode
Definition nonlinearprojection.h:118
virtual void setUser(User &user)
virtual void update(const vec2 &size) const =0
void generateCubeMap(unsigned int &texture, unsigned int internalFormat)
virtual void initViewports()=0
void attachTextures(int face) const
ivec2 _cubemapResolution
Definition nonlinearprojection.h:123
virtual void initFBO(unsigned int internalFormat, int nSamples)
void setInterpolationMode(InterpolationMode im)
Set the interpolation mode.
void renderCubeFace(const BaseViewport &vp, int idx, FrustumMode mode) const
InterpolationMode
Definition nonlinearprojection.h:29
@ Linear
Definition nonlinearprojection.h:29
void setUseDepthTransformation(bool state)
Set if depth should be re-calculated to match the non-linear projection.
void generateMap(unsigned int &texture, unsigned int internalFormat)
void setStereo(bool state)
Set if stereoscopic rendering will be enabled.
void setupViewport(const BaseViewport &vp) const
vec4 _clearColor
Definition nonlinearprojection.h:124
virtual ~NonLinearProjection()
NonLinearProjection(const Window &parent)
virtual void initShaders()=0
void setCubemapResolution(int resolution)
Set the resolution of the cubemap faces.
void blitCubeFace(int face) const
virtual void updateFrustums(FrustumMode mode, float nearClip, float farClip)
bool _isStereo
Definition nonlinearprojection.h:121
virtual void renderCubemap(FrustumMode frustumMode) const =0
Helper class for creating frame buffer objects and render buffer objects.
Definition offscreenbuffer.h:21
Helper class for setting user variables.
Definition user.h:24
FrustumMode
Definition definitions.h:23
@ Mono
Definition definitions.h:24