Ocular Engine
|
#include <AxisGizmoRenderable.hpp>
Public Member Functions | |
virtual bool | initialize () override |
virtual bool | preRender () override |
virtual void | render () override |
virtual void | render (Graphics::Material *material) override |
virtual uint32_t | getRenderPriority () const override |
void | setSelected (bool selected) |
Public Member Functions inherited from Ocular::Core::ARenderable | |
ARenderable (std::string const &name="ARenderable", std::string const &type="ARenderable", SceneObject *parent=nullptr) | |
virtual void | postRender () |
virtual bool | preRenderDebug () |
virtual void | renderDebug () |
virtual void | postRenderDebug () |
virtual void | buildBounds (Math::BoundsSphere *sphere, Math::BoundsAABB *aabb, Math::BoundsOBB *obb, Math::Matrix4x4 const &matrix=Math::Matrix4x4()) |
SceneObject * | getParent () const |
std::string const & | getName () const |
Public Member Functions inherited from Ocular::Core::Object | |
Object (std::string name, std::string className) | |
Creates a new Object with the specified name and class. More... | |
Object (std::string name) | |
Creates a new Object with the specified name. More... | |
Object () | |
Creates a new Object with the default name ('Name'). | |
std::string const & | getName () const |
void | setName (std::string name) |
Sets the name of the Object. More... | |
std::string const & | getClass () const |
void | setUUID (std::string const &uuid) |
UUID const & | getUUID () const |
int64_t | getCreationTime () const |
virtual std::string | toString () const |
template<class T > | |
bool | isType () |
Public Member Functions inherited from Ocular::Core::ObjectIO | |
virtual void | onLoad (BuilderNode const *node) override |
virtual void | onSave (BuilderNode *node) const override |
Public Member Functions inherited from Ocular::Core::Exposable | |
void | getAllExposedNames (std::vector< std::string > &names) const |
bool | getVariable (std::string const &name, ExposedVariable &var) |
template<typename T > | |
bool | getVariableValue (std::string const &name, T &var) |
template<typename T > | |
bool | setVariableValue (std::string const &name, T const &value) |
virtual void | onVariableModified (std::string const &varName) |
Protected Member Functions | |
bool | initializeMaterials () |
bool | initializeMaterialNormal () |
bool | initializeMaterialSelected () |
bool | initializeMesh () |
Protected Member Functions inherited from Ocular::Core::Exposable | |
void | exposeVariable (std::string const &name, std::string const &type, bool isPointer, bool isExposed, void *data) |
Protected Attributes | |
Graphics::Material * | m_MaterialNormal |
Material when rendering the component when not selected. Will use axis color. | |
Graphics::Material * | m_MaterialSelected |
Material when rendering the component when it is selected. | |
Graphics::Mesh * | m_Mesh |
Graphics::DepthStencilState | m_DSSPreRender |
Graphics::DepthStencilState | m_DSSPostRender |
bool | m_IsSelected |
Protected Attributes inherited from Ocular::Core::ARenderable | |
SceneObject * | m_Parent |
Protected Attributes inherited from Ocular::Core::Object | |
std::string | m_Name |
std::string | m_Class |
UUID | m_UUID |
const int64_t | m_CreationTime |
Protected Attributes inherited from Ocular::Core::Exposable | |
std::unordered_map< std::string, ExposedVariable > | m_ExposedVariables |
Special purpose renderable attached to an AxisComponentGizmo object. Responsible for setting the axis color and ensuring it is drawn in front of all other objects.
|
overridevirtual |
Virtual method that should be overridden by child implementations.
Implementation is left up to the user as Renderables do not have a pre-set number of Materials (where RenderPriority is defined) or a Material heirarchy.
Some Renderable implementations may have a single Material, some may have multiple.
Some may wish to use the priority of the first Material, others an average priority of all Materials attached to the Renderable.
Reimplemented from Ocular::Core::ARenderable.
|
overridevirtual |
Called prior to the render method.
Should handle any setup required for rendering to be successful, such as Material binding, etc.
Reimplemented from Ocular::Core::ARenderable.
|
overridevirtual |
Performs any necessary rendering calls such as GraphicsDriver::renderMesh.
Reimplemented from Ocular::Core::ARenderable.
|
overridevirtual |
Renders the renderable with the specified Material.
Use this version of the render method when doing operations such as post-processing when all objects need to be rendered using the same effect.
[in] | material |
Reimplemented from Ocular::Core::ARenderable.