Scene root that renders items in fixed order, no Z sorting. More...
#include <FixedOrder_Camera.hpp>
Public Attributes | |
ClientMarker | cm |
Public Attributes inherited from iv::Camera | |
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
Scene root that renders items in fixed order, no Z sorting.
Renders elements in the order they were added to the ElementRenderer - order they are placed in the element tree. This uses depth buffer for opaque elements, so they will not really be rendered in given order, but they will appear as if they were. Opaque elements are in fact grouped by shader id and texture id to have less context switches.
Definition at line 21 of file FixedOrder_Camera.hpp.
Constructor & Destructor Documentation
◆ FixedOrder_Camera()
iv::FixedOrder_Camera::FixedOrder_Camera | ( | Instance * | inst, |
iv::RenderTarget::Geometry | geometry | ||
) |
Definition at line 12 of file FixedOrder_Camera.cpp.
Member Function Documentation
◆ FrameStart()
|
overridevirtual |
Implements iv::ElementRenderer.
Definition at line 20 of file FixedOrder_Camera.cpp.
◆ AddRenderable_Solid()
|
overridevirtual |
Shoud be called from first pass on the way down (before children have first_pass). This means that renderable will be rendered in next frame. It will not be rendered in following frames if it is not activated again before each of those frames. This behavior allows us to remove renderables from render queue without callbacks into ElementRenderer. We can put 0 to shader_id and/or primary_texture_id when we don't know the id yet, but that will preven render grouping.
Implements iv::ElementRenderer.
Definition at line 26 of file FixedOrder_Camera.cpp.
◆ AddRenderable_Translucent()
|
overridevirtual |
Implements iv::ElementRenderer.
Definition at line 42 of file FixedOrder_Camera.cpp.
◆ RunRender()
|
overridevirtual |
Implements iv::ElementRenderer.
Definition at line 58 of file FixedOrder_Camera.cpp.
Member Data Documentation
◆ cm
ClientMarker iv::FixedOrder_Camera::cm |
Definition at line 24 of file FixedOrder_Camera.hpp.
The documentation for this class was generated from the following files:
- ivorium_graphics/Elements/FixedOrder_Camera.hpp
- ivorium_graphics/Elements/FixedOrder_Camera.cpp