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

This class holds and manages viewportdata and calculates frustums. More...

#include <sgct/viewport.h>

Inheritance diagram for sgct::Viewport:
Collaboration diagram for sgct::Viewport:

Public Member Functions

 Viewport (const config::Viewport &viewport, const Window &parent)
 ~Viewport () override
void initialize (vec2 size, bool hasStereo, unsigned int internalFormat, uint8_t samples)
void loadData ()
void calculateFrustum (FrustumMode mode, float nearClip, float farClip) override
void renderQuadMesh () const
void renderWarpMesh () const
void renderMaskMesh () const
bool hasOverlayTexture () const
bool hasBlendMaskTexture () const
bool hasBlackLevelMaskTexture () const
bool hasSubViewports () const
bool isTracked () const
unsigned int overlayTextureIndex () const
unsigned int blendMaskTextureIndex () const
unsigned int blackLevelMaskTextureIndex () const
NonLinearProjection * nonLinearProjection () const
Public Member Functions inherited from sgct::BaseViewport
 BaseViewport (const Window &parent, FrustumMode eye=FrustumMode::Mono)
virtual ~BaseViewport ()
void setupViewport (FrustumMode frustum) const
const Projection & projection (FrustumMode frustumMode) const
ProjectionPlane & projectionPlane ()
void calculateNonLinearFrustum (FrustumMode mode, float nearClip, float farClip)
 Make projection symmetric relative to user.
void setViewPlaneCoordsUsingFOVs (float up, float down, float left, float right, quat rot, float dist=10.f)
void updateFovToMatchAspectRatio (float oldRatio, float newRatio)
void setEnabled (bool state)
bool isEnabled () const
void setPosition (vec2 position)
const vec2 & position () const
void setSize (vec2 size)
const vec2 & size () const
void setUser (User &user)
User & user () const
FrustumMode eye () const
void setHorizontalFieldOfView (float hFov)
float horizontalFieldOfViewDegrees () const
const Window & window () const

Additional Inherited Members

Protected Attributes inherited from sgct::BaseViewport
const Window & _parent
Projection _monoProj
Projection _stereoLeftProj
Projection _stereoRightProj
ProjectionPlane _projPlane
bool _isEnabled = true
const FrustumMode _eye
vec2 _position = vec2{ 0.f, 0.f }
vec2 _size = vec2{ 1.f, 1.f }
User * _user
struct sgct::BaseViewport:: { ... }  _viewPlane
quat _rotation = quat{ 0.f, 0.f, 0.f, 1.f }

Detailed Description

This class holds and manages viewportdata and calculates frustums.

Constructor & Destructor Documentation

◆ Viewport()

sgct::Viewport::Viewport ( const config::Viewport & viewport,
const Window & parent )

◆ ~Viewport()

sgct::Viewport::~Viewport ( )
override

Member Function Documentation

◆ blackLevelMaskTextureIndex()

unsigned int sgct::Viewport::blackLevelMaskTextureIndex ( ) const

◆ blendMaskTextureIndex()

unsigned int sgct::Viewport::blendMaskTextureIndex ( ) const

◆ calculateFrustum()

void sgct::Viewport::calculateFrustum ( FrustumMode mode,
float nearClip,
float farClip )
overridevirtual

Reimplemented from sgct::BaseViewport.

◆ hasBlackLevelMaskTexture()

bool sgct::Viewport::hasBlackLevelMaskTexture ( ) const

◆ hasBlendMaskTexture()

bool sgct::Viewport::hasBlendMaskTexture ( ) const

◆ hasOverlayTexture()

bool sgct::Viewport::hasOverlayTexture ( ) const

◆ hasSubViewports()

bool sgct::Viewport::hasSubViewports ( ) const

◆ initialize()

void sgct::Viewport::initialize ( vec2 size,
bool hasStereo,
unsigned int internalFormat,
uint8_t samples )

◆ isTracked()

bool sgct::Viewport::isTracked ( ) const

◆ loadData()

void sgct::Viewport::loadData ( )

◆ nonLinearProjection()

NonLinearProjection * sgct::Viewport::nonLinearProjection ( ) const

◆ overlayTextureIndex()

unsigned int sgct::Viewport::overlayTextureIndex ( ) const

◆ renderMaskMesh()

void sgct::Viewport::renderMaskMesh ( ) const

◆ renderQuadMesh()

void sgct::Viewport::renderQuadMesh ( ) const

◆ renderWarpMesh()

void sgct::Viewport::renderWarpMesh ( ) const

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