Skip to content

Vp::SceneCamera

Viewport entity representing a Camera node in Core/GUI.

#include "Viewport/entity/nodes/SceneCamera.h"

Inherits from Vp::SceneModel, Vp::TexturedObject, Vp::GameObject, Vp::Entity

Public Functions

Name
SceneCamera(Core::Mesh * mesh, PhongShader * shader)
virtual voidonSceneAdd(Scene & scene) override<br>Called when the entity is added to a scene.
virtual voidonSceneRemove(Scene & scene) override<br>Called when the entity is removed from a scene.
virtual voidupdate(Scene & scene) override

Public Attributes

Name
boolm_fillFrustum
glm::vec3m_frustumColor
glm::vec3m_frustumOutlineColor
glm::mat4m_projectionMatrix
boolm_showFrustum
glm::mat4m_viewMatrix

Protected Attributes

Name
std::weak_ptr< FrustumObject >m_frustum
std::weak_ptr< FrustumObject >m_frustumOutline

Additional inherited members

Public Functions inherited from Vp::SceneModel

Name
SceneModel(Core::Mesh * mesh, PhongShader * shader)
SceneModel(std::string modelAlias, PhongShader * shader)<br>Load mesh using an alias.
std::stringgetModel()
virtual voidrender(Shader * shader, glm::mat4 view, glm::mat4 projection, bool silhouette) override<br>IMPLEMENTATION NOTE: Derived entity classes should expect a certain kind of shader and be able to directly static cast to it.
voidsetModel(std::string modelAlias)

Public Attributes inherited from Vp::SceneModel

Name
std::weak_ptr< ColoredObject >m_axes <br>Visualisation of the basis vectors.
Core::IDm_guiNodeId <br>ID of the gui node object is representing.
std::stringm_modelAlias
boolm_showAxes

Public Functions inherited from Vp::TexturedObject

Name
TexturedObject(Core::Mesh * mesh, PhongShader * shader)
virtual voidrender(Shader * shader, glm::mat4 view, glm::mat4 projection, bool silhouette) override<br>IMPLEMENTATION NOTE: Derived entity classes should expect a certain kind of shader and be able to directly static cast to it.

Public Attributes inherited from Vp::TexturedObject

Name
glm::vec3m_tint
floatm_tintStrength

Public Functions inherited from Vp::GameObject

Name
GameObject() =default<br>Creates an empty GameObject.
GameObject(Core::Mesh * mesh, ObjectShader * shader)
virtual voiddispose() override
virtual voidrender(Shader * shader, glm::mat4 view, glm::mat4 projection, bool silhouette) override<br>IMPLEMENTATION NOTE: Derived entity classes should expect a certain kind of shader and be able to directly static cast to it.

Public Attributes inherited from Vp::GameObject

Name
Core::Mesh *m_mesh
floatm_opacity

Public Functions inherited from Vp::Entity

Name
Entity()
virtual~Entity() =default
virtual voiddispose() =0
virtual DisplayTypegetDisplayType() const
virtual glm::vec3getHighlightColor() const
virtual boolisHighlighted() const
voidrender(glm::mat4 view, glm::mat4 projection)
voidrender(glm::mat4 view, glm::mat4 projection, bool silhouette)
virtual voidsetDisplayType(DisplayType type)
virtual voidsetHighlightColor(glm::vec3 highlightColor)
virtual voidsetHighlighted(bool highlight)

Protected Functions inherited from Vp::Entity

Name
voidrender(Shader * shader, glm::mat4 view, glm::mat4 projection)
virtual voidrender(Shader * shader, glm::mat4 view, glm::mat4 projection, bool silhouette) =0<br>IMPLEMENTATION NOTE: Derived entity classes should expect a certain kind of shader and be able to directly static cast to it.

Public Attributes inherited from Vp::Entity

Name
boolm_backFaceCull
unsigned intm_explicitTransparencyOrder <br>Explicit order for ordered transparency.
boolm_highlight <br>Whether to paint this entity with an outline, can be used for selection or just highlighting.
glm::vec3m_highlightColor
boolm_highlightUseDepth <br>Whether the highlight outline should respect the scene's depth buffer.
glm::mat4m_modelMatrix <br>Model transformation of the entity.
boolm_opaque
boolm_selectable <br>Whether this entity should be written into the selection stencil buffer.
intm_selectionId <br>Id of the object, -1 if not assigned, for selection purposes.
Shader *m_shader
boolm_visible
boolm_wboit <br>Whether this entity should be rendered using order independent transparency, relevant if using a shader that supports wboit.
intm_wboitFunc <br>Index of the weight function to be used in wboit.

Protected Attributes inherited from Vp::Entity

Name
DisplayTypem_displayType

Public Functions Documentation

function SceneCamera

cpp
SceneCamera(
    Core::Mesh * mesh,
    PhongShader * shader
)
SceneCamera(
    Core::Mesh * mesh,
    PhongShader * shader
)

function onSceneAdd

cpp
virtual void onSceneAdd(
    Scene & scene
) override
virtual void onSceneAdd(
    Scene & scene
) override

Called when the entity is added to a scene.

Parameters:

  • scene Scene to which it has been added

Reimplements: Vp::Entity::onSceneAdd

function onSceneRemove

cpp
virtual void onSceneRemove(
    Scene & scene
) override
virtual void onSceneRemove(
    Scene & scene
) override

Called when the entity is removed from a scene.

Parameters:

  • scene Scene from which it has been removed

Reimplements: Vp::Entity::onSceneRemove

function update

cpp
virtual void update(
    Scene & scene
) override
virtual void update(
    Scene & scene
) override

Reimplements: Vp::GameObject::update

Public Attributes Documentation

variable m_fillFrustum

cpp
bool m_fillFrustum {true};
bool m_fillFrustum {true};

variable m_frustumColor

cpp
glm::vec3 m_frustumColor {0.35f, 0.27f, 0.06f};
glm::vec3 m_frustumColor {0.35f, 0.27f, 0.06f};

variable m_frustumOutlineColor

cpp
glm::vec3 m_frustumOutlineColor {1.0f, 0.0f, 0.0f};
glm::vec3 m_frustumOutlineColor {1.0f, 0.0f, 0.0f};

variable m_projectionMatrix

cpp
glm::mat4 m_projectionMatrix {1};
glm::mat4 m_projectionMatrix {1};

variable m_showFrustum

cpp
bool m_showFrustum {true};
bool m_showFrustum {true};

variable m_viewMatrix

cpp
glm::mat4 m_viewMatrix {1};
glm::mat4 m_viewMatrix {1};

Protected Attributes Documentation

variable m_frustum

cpp
std::weak_ptr< FrustumObject > m_frustum;
std::weak_ptr< FrustumObject > m_frustum;

variable m_frustumOutline

cpp
std::weak_ptr< FrustumObject > m_frustumOutline;
std::weak_ptr< FrustumObject > m_frustumOutline;

Updated on 2024-11-06 at 20:16:53 +0000