_nl.engine  alpha 0.9
Nameless Engine C++ Opengl 3D Game Engine / Framework
_NL::Object::CameraObj Class Reference

#include <CameraObj.h>

Inheritance diagram for _NL::Object::CameraObj:
_NL::Core::Object

Classes

struct  transform
 

Public Member Functions

 CameraObj ()
 
 CameraObj (char *name, GLsizei RenderWindowWidth, GLsizei RenderWindowHeight, GLsizei RenderWindowX=0, GLsizei RenderWindowY=0, GLfloat FOV=90.0f, GLfloat NearPlane=0.1f, GLfloat FarPlane=100, GLfloat RenderScaleRatio=1, GLuint nRenderTextures=10, GLenum TextureFiltering=GL_LINEAR, GLfloat exposure=2.5, GLfloat gamma=0.8)
 
void updateAudioListenerWithCamTransform ()
 
void updateAudioListenerPosition (glm::vec3 pos)
 
void updateAudioListenerDirection (glm::vec3 dir)
 
void updateAudioListenerRotation (glm::vec3 upVec)
 
glm::mat4 getWorldToViewMatrix () const
 
glm::mat4 getViewMatrix () const
 
glm::mat4 getProjectionMatrix () const
 
void ClearCurrentRenderTarget ()
 
void SetThisCamViewPort ()
 
void GenerateFrameBuffers ()
 
void SetCamAsRenderTarget ()
 
void RenderToFinalFramebuffer ()
 
void ExecutePostProcessingStack ()
 
void blitPostProcessedImageToScreen ()
 
char * getTypeName () override
 Every Sub Class must Overload this method. More...
 
- Public Member Functions inherited from _NL::Core::Object
 Object ()
 Default Empty Constructor. More...
 
virtual ~Object ()
 Default Destructor. More...
 
template<class ComponentType >
ComponentType * addComponent (ComponentType *C)
 
template<typename ComponentType >
ComponentType * getComponent ()
 

Public Attributes

sf::Listener AudioListener
 
GLuint G_FrameBuffer
 
GLuint PostProcessingReadyFramebuffer
 
std::vector< GLuint > ColorTextures
 
GLuint PostProcessingReadyImage
 
GLuint DepthStencilTexture
 
GLuint StencilViewTexture
 
glm::vec3 ClearScreenColor = glm::vec3(0,0,0)
 
_NL::Element::ShaderInstanceFinalPassShader
 
std::vector< _NL::Core::PostProcessingScript * > PostProcessingStack
 
struct _NL::Object::CameraObj::transform transformCam
 
GLfloat FOV
 
GLfloat NearPlane
 
GLfloat FarPlane
 
glm::vec2 RenderWindowPos
 
glm::vec2 RenderWindowSize
 
GLfloat RenderScaleRatio
 
GLuint nRenderTextures
 
GLenum TextureFiltering
 
GLfloat exposure = 2.5
 
GLfloat gamma = 0.8
 
- Public Attributes inherited from _NL::Core::Object
char * name
 Object Name. More...
 
ObjectParent = 0
 Reference of Parent Object for this object. More...
 
bool bactive = true
 
std::vector< _NL::Core::Component * > Components
 

Constructor & Destructor Documentation

◆ CameraObj() [1/2]

_NL::Object::CameraObj::CameraObj ( )

◆ CameraObj() [2/2]

_NL::Object::CameraObj::CameraObj ( char *  name,
GLsizei  RenderWindowWidth,
GLsizei  RenderWindowHeight,
GLsizei  RenderWindowX = 0,
GLsizei  RenderWindowY = 0,
GLfloat  FOV = 90.0f,
GLfloat  NearPlane = 0.1f,
GLfloat  FarPlane = 100,
GLfloat  RenderScaleRatio = 1,
GLuint  nRenderTextures = 10,
GLenum  TextureFiltering = GL_LINEAR,
GLfloat  exposure = 2.5,
GLfloat  gamma = 0.8 
)

Member Function Documentation

◆ blitPostProcessedImageToScreen()

void _NL::Object::CameraObj::blitPostProcessedImageToScreen ( )

◆ ClearCurrentRenderTarget()

void _NL::Object::CameraObj::ClearCurrentRenderTarget ( )

◆ ExecutePostProcessingStack()

void _NL::Object::CameraObj::ExecutePostProcessingStack ( )

◆ GenerateFrameBuffers()

void _NL::Object::CameraObj::GenerateFrameBuffers ( )

◆ getProjectionMatrix()

glm::mat4 _NL::Object::CameraObj::getProjectionMatrix ( ) const

◆ getTypeName()

char * _NL::Object::CameraObj::getTypeName ( )
overridevirtual

Every Sub Class must Overload this method.

e.g : " return "_NL::UI::subgetTypeName" "

Implements _NL::Core::Object.

◆ getViewMatrix()

glm::mat4 _NL::Object::CameraObj::getViewMatrix ( ) const

◆ getWorldToViewMatrix()

glm::mat4 _NL::Object::CameraObj::getWorldToViewMatrix ( ) const

◆ RenderToFinalFramebuffer()

void _NL::Object::CameraObj::RenderToFinalFramebuffer ( )

◆ SetCamAsRenderTarget()

void _NL::Object::CameraObj::SetCamAsRenderTarget ( )

◆ SetThisCamViewPort()

void _NL::Object::CameraObj::SetThisCamViewPort ( )

◆ updateAudioListenerDirection()

void _NL::Object::CameraObj::updateAudioListenerDirection ( glm::vec3  dir)

◆ updateAudioListenerPosition()

void _NL::Object::CameraObj::updateAudioListenerPosition ( glm::vec3  pos)

◆ updateAudioListenerRotation()

void _NL::Object::CameraObj::updateAudioListenerRotation ( glm::vec3  upVec)

◆ updateAudioListenerWithCamTransform()

void _NL::Object::CameraObj::updateAudioListenerWithCamTransform ( )

Member Data Documentation

◆ AudioListener

sf::Listener _NL::Object::CameraObj::AudioListener

◆ ClearScreenColor

glm::vec3 _NL::Object::CameraObj::ClearScreenColor = glm::vec3(0,0,0)

◆ ColorTextures

std::vector<GLuint> _NL::Object::CameraObj::ColorTextures

◆ DepthStencilTexture

GLuint _NL::Object::CameraObj::DepthStencilTexture

◆ exposure

GLfloat _NL::Object::CameraObj::exposure = 2.5

◆ FarPlane

GLfloat _NL::Object::CameraObj::FarPlane

◆ FinalPassShader

_NL::Element::ShaderInstance* _NL::Object::CameraObj::FinalPassShader

◆ FOV

GLfloat _NL::Object::CameraObj::FOV

◆ G_FrameBuffer

GLuint _NL::Object::CameraObj::G_FrameBuffer

◆ gamma

GLfloat _NL::Object::CameraObj::gamma = 0.8

◆ NearPlane

GLfloat _NL::Object::CameraObj::NearPlane

◆ nRenderTextures

GLuint _NL::Object::CameraObj::nRenderTextures

◆ PostProcessingReadyFramebuffer

GLuint _NL::Object::CameraObj::PostProcessingReadyFramebuffer

◆ PostProcessingReadyImage

GLuint _NL::Object::CameraObj::PostProcessingReadyImage

◆ PostProcessingStack

std::vector<_NL::Core::PostProcessingScript*> _NL::Object::CameraObj::PostProcessingStack

◆ RenderScaleRatio

GLfloat _NL::Object::CameraObj::RenderScaleRatio

◆ RenderWindowPos

glm::vec2 _NL::Object::CameraObj::RenderWindowPos

◆ RenderWindowSize

glm::vec2 _NL::Object::CameraObj::RenderWindowSize

◆ StencilViewTexture

GLuint _NL::Object::CameraObj::StencilViewTexture

◆ TextureFiltering

GLenum _NL::Object::CameraObj::TextureFiltering

◆ transformCam

struct _NL::Object::CameraObj::transform _NL::Object::CameraObj::transformCam

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