Abstract class that represents root of a scene graph and can render it. More...
#include <Camera.hpp>
Public Attributes | |
ClientMarker | cm |
Public Attributes inherited from iv::Slot | |
ClientMarker | cm |
Public Attributes inherited from iv::VectorChildrenElem< SlotChild > | |
ClientMarker | cm |
Public Attributes inherited from iv::Elem | |
ClientMarker | cm |
DirtyAttr< bool > | attr_enabled |
DirtyAttr< float4x4 > | modelTransform |
DirtyAttr< ShaderScissor > | scissor |
Public Attributes inherited from iv::InputNode | |
ClientMarker | cm |
Public Attributes inherited from iv::SlotChild | |
ClientMarker | cm |
DirtyAttr< float3 > | expectedSize |
DirtyAttr< float3 > | preferredSize |
DirtyAttr< float3 > | size |
Public Attributes inherited from iv::Pickable | |
ClientMarker | cm |
Additional Inherited Members | |
Protected Member Functions inherited from iv::Slot | |
virtual void | first_pass_impl (ElementRenderer *) override |
virtual void | second_pass_impl (ElementRenderer *) override |
Protected Member Functions inherited from iv::VectorChildrenElem< SlotChild > | |
virtual void | elem_eachChild (std::function< void(Elem *) > const &) override |
virtual void | elem_childDisconnect (Elem *) override |
virtual void | input_eachChild (std::function< void(InputNode *) > const &f) override |
virtual void | input_childDisconnect (InputNode *child) override |
Protected Member Functions inherited from iv::InputNode | |
virtual bool | input_trigger_process (InputRoot *root, Input::DeviceKey key) |
virtual void | input_process (InputRoot *root, Input::DeviceKey key, bool &press, bool &real, bool &offspace) |
Protected Attributes inherited from iv::VectorChildrenElem< SlotChild > | |
std::vector< SlotChild * > | children |
bool | children_dirty |
Detailed Description
Abstract class that represents root of a scene graph and can render it.
Add SlotChild instances and then render them using Camera::render_scene. Camera can use model matrix of one Elem in scene graph as a view matrix - rendering scene from the point of view of that Elem. To be fully functional, a child needs to implement all virtual methods of ElementRenderer - it decides on order in which Renderables are rendered.
Definition at line 17 of file Camera.hpp.
Constructor & Destructor Documentation
◆ Camera()
iv::Camera::Camera | ( | Instance * | inst, |
RenderTarget::Geometry | geometry | ||
) |
Definition at line 9 of file Camera.cpp.
◆ ~Camera()
iv::Camera::~Camera | ( | ) |
Definition at line 24 of file Camera.cpp.
Member Function Documentation
◆ status()
void iv::Camera::status | ( | iv::TableDebugView * | view | ) |
Definition at line 31 of file Camera.cpp.
◆ render_scene()
void iv::Camera::render_scene | ( | Elem * | view = nullptr | ) |
view
Model matrix of this node will be used as view matrix for the whole render. Can be null to use empty view matrix - it is rendered from point of view of this camera.
Definition at line 56 of file Camera.cpp.
◆ geometry()
void iv::Camera::geometry | ( | RenderTarget::Geometry | geometry | ) |
Definition at line 41 of file Camera.cpp.
◆ elem_getRoot()
|
overridevirtual |
Reimplemented from iv::Elem.
Definition at line 72 of file Camera.cpp.
◆ FromLocalSpaceToViewportSpace()
Definition at line 114 of file Camera.cpp.
◆ FromViewportSpaceToLocalSpace()
Definition at line 122 of file Camera.cpp.
◆ FromViewportPlaneToLocalPlane()
Definition at line 131 of file Camera.cpp.
Member Data Documentation
◆ cm
ClientMarker iv::Camera::cm |
Definition at line 20 of file Camera.hpp.
The documentation for this class was generated from the following files:
- ivorium_graphics/Elements/Camera.hpp
- ivorium_graphics/Elements/Camera.cpp