Skip to content

Vp::SceneScreen

Viewport entity representing a screen node. More...

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

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

Public Functions

Name
SceneScreen()
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
voidupdateModelTransform(float width, float height, float scaleFactor, bool yUp)

Public Attributes

Name
floatm_programOpacity <br>Runtime opacity factor.
floatm_scale <br>Optional scaling factor of the model, eg. an implicit model transformation.
std::weak_ptr< TexturedObject >m_screenBase

Additional inherited members

Public Functions inherited from Vp::TexturedObject

Name
TexturedObject(Core::Mesh * mesh, PhongShader * shader)
virtual voidprepareRenderContext(RenderContext & context, const DisplayOptions & displayOptions) override

Public Attributes inherited from Vp::TexturedObject

Name
glm::vec3m_tint
floatm_tintStrength

Public Attributes inherited from Vp::SceneSelectable

Name
Core::IDm_guiNodeId <br>ID of the gui node object is representing.

Public Functions inherited from Vp::GameObject

Name
GameObject() =default<br>Creates an empty GameObject.
GameObject(Core::Mesh * mesh, ObjectShader * shader)
virtual voiddispose() override
virtual voidprepareRenderContext(RenderContext & context, const DisplayOptions & displayOptions) override
voidrender(const glm::mat4 & model, const glm::mat4 & view, const glm::mat4 & projection, const DisplayOptions & displayOptions)<br>Renders the entity with default rendering parameters.
virtual voidrender(const glm::mat4 & model, const glm::mat4 & view, const glm::mat4 & projection, const RenderContext & context) override<br>IMPLEMENTATION NOTE: Derived entity classes should expect a certain kind of shader and be able to directly static cast to it.
virtual voidrender(const glm::mat4 & model, const glm::mat4 & view, const glm::mat4 & projection, const RenderContext & context)<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 Classes inherited from Vp::Entity

Name
structRenderContext

Public Types inherited from Vp::Entity

Name
enum classRenderType { NORMAL, CUSTOM, SILHOUETTE}

Public Functions inherited from Vp::Entity

Name
Entity()
virtual~Entity() =default
RenderContextcreateRenderContext(const DisplayOptions & displayOptions)
virtual voiddispose() =0
DisplayTypegetDisplayType() const
glm::vec3getHighlightColor() const
boolisHighlighted() const
virtual voidprepareRenderContext(RenderContext & context, const DisplayOptions & displayOptions) =0
voidrender(const glm::mat4 & model, const glm::mat4 & view, const glm::mat4 & projection, const DisplayOptions & displayOptions)<br>Renders the entity with default rendering parameters.
virtual voidrender(const glm::mat4 & model, const glm::mat4 & view, const glm::mat4 & projection, const RenderContext & context) =0<br>IMPLEMENTATION NOTE: Derived entity classes should expect a certain kind of shader and be able to directly static cast to it.
voidsetDisplayType(DisplayType type)
voidsetHighlightColor(glm::vec3 highlightColor)
voidsetHighlighted(bool highlight)

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.
boolm_ignoreReferenceSpace <br>When true, the "global"/"reference space" model matrix passed to viewport drawing methods is ignored.
boolm_ignoreUserClipping <br>Whether to ignore user clip planes defined in DisplayOptions.
glm::mat4m_lastModelMatrix <br>Potentially modifed model matrix last passed to the shader.
glm::mat4m_modelMatrix <br>Model "world" transformation of the entity.
glm::mat4m_modMatrix <br>Modification transformation, precedes any other transformations, modifies entity vertex data as if the modified data came directly from a source (model file).
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

Detailed Description

cpp
class Vp::SceneScreen;
class Vp::SceneScreen;

Viewport entity representing a screen node.

Only visible when visualizing screen space. Monitor 3D model credits: LiveToWin34 (https://skfb.ly/otsCS) (CC Attribution 4.0) (modified)

Public Functions Documentation

function SceneScreen

cpp
SceneScreen()
SceneScreen()

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

function updateModelTransform

cpp
void updateModelTransform(
    float width,
    float height,
    float scaleFactor,
    bool yUp
)
void updateModelTransform(
    float width,
    float height,
    float scaleFactor,
    bool yUp
)

Public Attributes Documentation

variable m_programOpacity

cpp
float m_programOpacity {1.f};
float m_programOpacity {1.f};

Runtime opacity factor.

variable m_scale

cpp
float m_scale {1.f};
float m_scale {1.f};

Optional scaling factor of the model, eg. an implicit model transformation.

variable m_screenBase

cpp
std::weak_ptr< TexturedObject > m_screenBase;
std::weak_ptr< TexturedObject > m_screenBase;

Updated on 2025-05-31 at 12:55:31 +0000