Skip to content

Vp::PreviewScene

#include "Viewport/scene/scenes/PreviewScene.h"

Inherits from Vp::Scene

Public Functions

Name
PreviewScene(Viewport * viewport)
virtual voidinit() override<br>Initialises the scene.

Public Attributes

Name
std::shared_ptr< OrbitCamera >m_orbitCamera

Additional inherited members

Public Functions inherited from Vp::Scene

Name
Scene(Viewport * viewport)
virtual~Scene() =default
template <typename T ,typename std::enable_if< std::is_base_of< Entity, T >::value, bool >::type =true&gt; <br>std::weak_ptr< T >addEntity(std::shared_ptr< T > entity)<br>Adds entity to the scene.
voidaddSelectionCallback(std::function< void(Entity *)> callback)
virtual Ptr< SceneRenderTarget >createRenderTarget(const RenderOptions & options)<br>Create and populates a SceneRenderTarget object with expected framebuffer objects for the scenes render pass.
virtual voiddraw(int width, int height, const glm::mat4 & model, const glm::mat4 & view, const glm::mat4 & projection, SceneRenderTarget & renderTarget, const DisplayOptions & displayOptions)<br>Draw the scene using the provided view and projection matrices.
virtual voiddraw(int width, int height, const glm::mat4 & model, SceneRenderTarget & renderTarget, const DisplayOptions & displayOptions)<br>Draw the scene using the scene's camera.
virtual voiddraw(int width, int height, const std::shared_ptr< AbstractCamera > & camera, const glm::mat4 & model, SceneRenderTarget & renderTarget, const DisplayOptions & displayOptions)<br>Draw the scene using a provided camera.
const std::vector< std::shared_ptr< Entity > > &getEntities() const
voidprocessInput(double dt, glm::vec2 mousePos, glm::ivec2 windowSize)<br>Update input logic.
voidprocessSelection(SceneRenderTarget & renderTarget, glm::vec2 mousePos, glm::ivec2 windowSize)<br>Update selection logic.
template <typename T ,typename std::enable_if< std::is_base_of< Entity, T >::value, bool >::type =true&gt; <br>voidremoveEntity(std::weak_ptr< T > entity)<br>Remove entity from the scene.
voidtriggerSelectionCallbacks(Entity * entity)
virtual voidupdate(double dt)<br>Update entity logic.

Protected Functions inherited from Vp::Scene

Name
voiddrawHighlight(int width, int height, const glm::mat4 & model, const glm::mat4 & view, const glm::mat4 & projection, SceneRenderTarget & renderTarget, const DisplayOptions & displayOptions, ViewportSettings & stg, const Ptr< Framebuffer > & mainFBO, const Ptr< Framebuffer > & selectionFBO, const Ptr< Framebuffer > & selectionBlurFBO, const Ptr< Framebuffer > & selectionBlurSecondPassFBO)
voiddrawStandard(int width, int height, const glm::mat4 & model, const glm::mat4 & view, const glm::mat4 & projection, SceneRenderTarget & renderTarget, const DisplayOptions & displayOptions, RenderOptions renderOptions, bool alpha, glm::vec3 clearColor, const Ptr< Framebuffer > & mainFBO)
voiddrawWboit(int width, int height, const glm::mat4 & model, const glm::mat4 & view, const glm::mat4 & projection, SceneRenderTarget & renderTarget, const DisplayOptions & displayOptions, RenderOptions renderOptions, bool alpha, glm::vec3 clearColor, const Ptr< Framebuffer > & mainFBO, const Ptr< Framebuffer > & transparentFBO)
voidrenderSortedTransparentEntities(const std::vector< Entity * > & entities, const glm::mat4 & model, const glm::mat4 & view, const glm::mat4 & projection, const DisplayOptions & displayOptions) const
voidsortExplicitlyOrderedTransparentEntities(std::vector< Entity * > & entities)
voidsortUnorderedTransparentEntities(std::vector< Entity * > & entities, const glm::mat4 & model, const glm::mat4 & view)

Public Attributes inherited from Vp::Scene

Name
std::shared_ptr< AbstractCamera >m_camera
std::shared_ptr< Lighting >m_lighting
std::shared_ptr< SelectStencil >m_selectStencil
Viewport *m_viewport

Protected Attributes inherited from Vp::Scene

Name
std::vector< std::shared_ptr< Entity > >m_entities
std::vector< Entity * >m_explicitTransparencyOrderEntitiesFirst
std::vector< Entity * >m_explicitTransparencyOrderEntitiesLast
std::vector< Entity * >m_highlightedEntities
Entity *m_selectedEntity
std::vector< std::function< void(Entity *)> >m_selectionCallbacks <br>Callbacks that get triggered on entity selection.
std::vector< Entity * >m_unorderedTransparentEntities

Friends inherited from Vp::Scene

Name
classViewport

Public Functions Documentation

function PreviewScene

cpp
explicit PreviewScene(
    Viewport * viewport
)
explicit PreviewScene(
    Viewport * viewport
)

function init

cpp
virtual void init() override
virtual void init() override

Initialises the scene.

Reimplements: Vp::Scene::init

Should be called before any draw operations.

Public Attributes Documentation

variable m_orbitCamera

cpp
std::shared_ptr< OrbitCamera > m_orbitCamera;
std::shared_ptr< OrbitCamera > m_orbitCamera;

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