![]() |
Rendering Engine 0.2.0
Modular Graphics Rendering Engine | v0.2.0
|
3D drawable component for rendering objects in 3D space. More...
#include <drawable_3d.hpp>
Inherits rendering_engine::DrawableComponent.
Inherited by rendering_engine::StaticMesh.
Public Member Functions | |
| Drawable3D (RenderResourceContext renderContext) | |
| Constructs the Drawable3D with a render context. | |
| void | Initialize () override |
| Initializes render resource pointers (material, mesh, etc.). Must be called after setting material and mesh names. | |
| void | Update (float deltaTime) override |
| Updates logic (animation, movement, etc.) for this drawable. | |
| virtual void | Draw (const Camera &camera)=0 |
| Submits this mesh to the renderer for drawing. | |
| void | SetPosition (const glm::vec3 &position) |
| Sets the mesh position in world space. | |
| void | SetRotation (const glm::vec3 &rotation) |
| Sets the mesh rotation in degrees. | |
| void | SetScale (const glm::vec3 &scale) |
| Sets the mesh scale along each axis. | |
| const glm::vec3 & | GetPosition () const |
| Gets the mesh position. | |
| const glm::vec3 & | GetRotation () const |
| Gets the mesh rotation (pitch, yaw, roll in degrees). | |
| const glm::vec3 & | GetScale () const |
| Gets the mesh scale. | |
| SceneComponent & | GetTransform () |
| Access to the underlying SceneComponent (transform). | |
| const SceneComponent & | GetTransform () const |
| Drawable3D (const Drawable3D &rhs)=delete | |
| Drawable3D & | operator= (const Drawable3D &rhs)=delete |
| Public Member Functions inherited from rendering_engine::DrawableComponent | |
| DrawableComponent (RenderResourceContext renderContext) | |
| Constructs the DrawableComponent with a resource context. | |
| virtual | ~DrawableComponent ()=default |
| Virtual destructor. | |
| virtual void | Shutdown () |
| DrawableComponent (const DrawableComponent &)=delete | |
| DrawableComponent & | operator= (const DrawableComponent &)=delete |
Protected Attributes | |
| SceneComponent | mSceneComponent |
| Protected Attributes inherited from rendering_engine::DrawableComponent | |
| RenderResourceContext | mRenderContext |
| std::unique_ptr< IRenderResources > | mRenderResources |
| std::string | mMaterialName |
| std::string | mMeshName |
| Material * | mMaterial |
| PackedMaterialData | mMaterialParameters |
| MeshDataGpu * | mMeshData |
Additional Inherited Members | |
| Protected Member Functions inherited from rendering_engine::DrawableComponent | |
| void | SetMaterialName (const std::string &materialName) |
| Sets the material to use (by name). | |
| void | SetMeshName (const std::string &meshName) |
| Sets the mesh to use (by name). | |
3D drawable component for rendering objects in 3D space.
Encapsulates a transform (SceneComponent). Provides per-frame update, world transform access, and render submission.
Definition at line 26 of file drawable_3d.hpp.
| rendering_engine::Drawable3D::Drawable3D | ( | RenderResourceContext | renderContext | ) |
Constructs the Drawable3D with a render context.
| renderContext | Resource context. |
Definition at line 6 of file drawable_3d.cpp.
|
delete |
|
pure virtual |
Submits this mesh to the renderer for drawing.
Implemented in rendering_engine::StaticMesh.
| const glm::vec3 & rendering_engine::Drawable3D::GetPosition | ( | ) | const |
Gets the mesh position.
Definition at line 35 of file drawable_3d.cpp.
| const glm::vec3 & rendering_engine::Drawable3D::GetRotation | ( | ) | const |
Gets the mesh rotation (pitch, yaw, roll in degrees).
Definition at line 40 of file drawable_3d.cpp.
| const glm::vec3 & rendering_engine::Drawable3D::GetScale | ( | ) | const |
Gets the mesh scale.
Definition at line 45 of file drawable_3d.cpp.
| SceneComponent & rendering_engine::Drawable3D::GetTransform | ( | ) |
Access to the underlying SceneComponent (transform).
Definition at line 50 of file drawable_3d.cpp.
| const SceneComponent & rendering_engine::Drawable3D::GetTransform | ( | ) | const |
Definition at line 55 of file drawable_3d.cpp.
|
overridevirtual |
Initializes render resource pointers (material, mesh, etc.). Must be called after setting material and mesh names.
Reimplemented from rendering_engine::DrawableComponent.
Reimplemented in rendering_engine::StaticMesh.
Definition at line 10 of file drawable_3d.cpp.
|
delete |
| void rendering_engine::Drawable3D::SetPosition | ( | const glm::vec3 & | position | ) |
Sets the mesh position in world space.
| position | New position vector (x, y, z). |
Definition at line 20 of file drawable_3d.cpp.
| void rendering_engine::Drawable3D::SetRotation | ( | const glm::vec3 & | rotation | ) |
Sets the mesh rotation in degrees.
| rotation | New rotation vector (pitch, yaw, roll), in degrees. |
Definition at line 25 of file drawable_3d.cpp.
| void rendering_engine::Drawable3D::SetScale | ( | const glm::vec3 & | scale | ) |
Sets the mesh scale along each axis.
| scale | New scale vector (x, y, z). |
Definition at line 30 of file drawable_3d.cpp.
|
overridevirtual |
Updates logic (animation, movement, etc.) for this drawable.
| deltaTime | Time step (seconds). |
Implements rendering_engine::DrawableComponent.
Reimplemented in rendering_engine::StaticMesh.
Definition at line 15 of file drawable_3d.cpp.
|
protected |
Definition at line 94 of file drawable_3d.hpp.