Oxygen Engine
Modern C++ 3D Engine using OpenGL
Loading...
Searching...
No Matches
oe::render::MeshSkinnedRenderer Struct Reference

Component that provide Mesh skin rendering. More...

#include <OxygenEngine/render/mesh_skinned_renderer.h>

Inheritance diagram for oe::render::MeshSkinnedRenderer:
Collaboration diagram for oe::render::MeshSkinnedRenderer:

Public Member Functions

template<typename BaseMeshType>
 MeshSkinnedRenderer (oe::scene::NodePtr &root_node, const BaseMeshType &scene_mesh, const oe::scene::skin::Armature &param_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::Materialmaterials
 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

Detailed Description

Component that provide Mesh skin rendering.

Member Function Documentation

◆ fillShader()

void oe::render::MeshSkinnedRenderer::fillShader ( ShaderBase * shader,
const oe::scene::Camera & camera )
inline

Send shader uniforms related to this sknned mesh.

Send bones / blenshapes buffers


The documentation for this struct was generated from the following file: