|
Oxygen Engine
Modern C++ 3D Engine using OpenGL
|
Component that provide Mesh skin rendering. More...
#include <OxygenEngine/render/mesh_skinned_renderer.h>
Public Member Functions | |
| template<typename BaseMeshType> | |
| MeshSkinnedRenderer (oe::scene::NodePtr &root_node, const BaseMeshType &scene_mesh, const oe::scene::skin::Armature ¶m_armature={}) | |
| bool | fillRenderCommands (const scene::Camera &camera, const bool is_blending_pass, std::vector< render::DrawCommand > &result) |
| Update bones matrices then call base filler. | |
| void | fillShader (ShaderBase *shader, const oe::scene::Camera &camera) |
| Send shader uniforms related to this sknned mesh. | |
| Public Member Functions inherited from oe::render::MeshRenderer | |
| template<typename BaseMeshType> | |
| MeshRenderer (oe::scene::NodePtr &node, const BaseMeshType &scene_mesh) | |
| void | addMaterial (bool assign_to_primitives=false) |
| Add a new material. | |
| bool | fillRenderCommands (const scene::Camera &camera, const bool is_blending_pass, std::vector< render::DrawCommand > &result) |
| Generate a list of {primitives, Material*} to render this mesh. | |
| void | fillShader (ShaderBase *shader, const oe::scene::Camera &camera) |
| Send shader uniforms related to this mesh. | |
Public Attributes | |
| oe::scene::skin::Armature | armature |
| std::shared_ptr< Texture > | _bones_texture |
| uint32_t | _bones_count = 0 |
| Public Attributes inherited from oe::render::MeshRenderer | |
| oe::scene::NodePtr | node |
| Related scene node. | |
| Mesh | render_mesh |
| Related render mesh (stored in GPU) of this renderer. | |
| std::vector< scene::Material > | materials |
| Distinct list of materials applied on this mesh. | |
| std::vector< std::vector< bool > > | primitives_by_material |
| List to assign materials to primitives. | |
Static Public Attributes | |
| constexpr static const oe::render::GeometryPass | geometry_pass = oe::render::GeometryPass::SKINNED |
| Static Public Attributes inherited from oe::render::MeshRenderer | |
| constexpr static const oe::render::GeometryPass | geometry_pass = oe::render::GeometryPass::SOLID |
Component that provide Mesh skin rendering.
|
inline |
Send shader uniforms related to this sknned mesh.
Send bones / blenshapes buffers