9#ifndef __SGCT__BASEVIEWPORT__H__
10#define __SGCT__BASEVIEWPORT__H__
12#include <sgct/sgctexports.h>
44 quat rot,
float dist = 10.f);
84 vec3 lowerLeft =
vec3{ 0.f, 0.f, 0.f };
85 vec3 upperLeft =
vec3{ 0.f, 0.f, 0.f };
86 vec3 upperRight =
vec3{ 0.f, 0.f, 0.f };
ProjectionPlane _projPlane
Definition baseviewport.h:73
const vec2 & position() const
bool _isEnabled
Definition baseviewport.h:75
BaseViewport(const Window &parent, FrustumMode eye=FrustumMode::Mono)
Projection _monoProj
Definition baseviewport.h:69
const Window & _parent
Definition baseviewport.h:67
void setupViewport(FrustumMode frustum) const
void setPosition(vec2 position)
vec2 _size
Definition baseviewport.h:79
void updateFovToMatchAspectRatio(float oldRatio, float newRatio)
const vec2 & size() const
void setHorizontalFieldOfView(float hFov)
const FrustumMode _eye
Definition baseviewport.h:76
virtual void calculateFrustum(FrustumMode mode, float nearClip, float farClip)
Projection _stereoLeftProj
Definition baseviewport.h:70
void setEnabled(bool state)
quat _rotation
Definition baseviewport.h:88
float horizontalFieldOfViewDegrees() const
void calculateNonLinearFrustum(FrustumMode mode, float nearClip, float farClip)
Make projection symmetric relative to user.
vec2 _position
Definition baseviewport.h:78
const Projection & projection(FrustumMode frustumMode) const
ProjectionPlane & projectionPlane()
User * _user
Definition baseviewport.h:81
const Window & window() const
Projection _stereoRightProj
Definition baseviewport.h:71
void setViewPlaneCoordsUsingFOVs(float up, float down, float left, float right, quat rot, float dist=10.f)
This class holds and manages 3D projections.
Definition projection.h:23
This class holds and manages the 3D projection plane.
Definition projectionplane.h:21
Helper class for setting user variables.
Definition user.h:24
FrustumMode
Definition definitions.h:23
@ Mono
Definition definitions.h:24