KarmaEngine
Game Engine for practical learning and research purposes
Loading...
Searching...
No Matches
Karma::SkeletalMesh Class Reference

SkeletalMesh class. More...

#include <SkeletalMesh.h>

Inheritance diagram for Karma::SkeletalMesh:
Collaboration diagram for Karma::SkeletalMesh:

Public Member Functions

 SkeletalMesh (std::shared_ptr< VertexBuffer > vertexBuffer, std::shared_ptr< IndexBuffer > indexBuffer, const std::string &meshName="NoName")
 A constructor.
 
virtual void ProcessMesh (aiMesh *meshToProcess) override
 To be written appropriately.
 
- Public Member Functions inherited from Karma::Mesh
 Mesh (std::shared_ptr< VertexBuffer > vertexBuffer, std::shared_ptr< IndexBuffer > indexBuffer, const std::string &meshName="NoName", MeshType mType=MeshType::Mesh)
 
 Mesh (const std::string &filePath)
 
void ProcessNode (aiNode *nodeToProcess, const aiScene *theScene)
 
std::shared_ptr< VertexBufferGetVertexBuffer () const
 
std::shared_ptr< IndexBufferGetIndexBuffer () const
 
void SetVertexBuffer (std::shared_ptr< VertexBuffer > vBuffer)
 
void SetIndexBuffer (std::shared_ptr< IndexBuffer > iBuffer)
 

Additional Inherited Members

- Static Public Member Functions inherited from Karma::Mesh
static std::shared_ptr< MeshProcessTheRawMesh (aiMesh *meshToProcess, const std::string &mName="NoName")
 Generate a layout (BufferLayout) for the supplied mesh.
 
static void DealVertexIndexBufferData (float *&vertexData, uint32_t &vertexDataSize, uint32_t *&indexData, uint32_t &indexDataLength, aiMesh *meshToProcess, BufferLayout &buffLayout)
 Routine for gauging the vertexbuffer data.
 
static void GaugeVertexDataLayout (aiMesh *meshToProcess, BufferLayout &buffLayout)
 Routine for extracting the format (BufferLayout) of vertexbuffer.
 
static float LayoutElementToAttributeValue (unsigned int vertexNumber, uint32_t counter, aiMesh *meshToProcess, const BufferElement &layoutElem)
 
static void InitializeAttributeDictionary ()
 
- Protected Attributes inherited from Karma::Mesh
std::shared_ptr< VertexBufferm_VertexBuffer
 
std::shared_ptr< IndexBufferm_IndexBuffer
 
std::string m_MeshName
 
MeshType m_MeshType
 
- Static Protected Attributes inherited from Karma::Mesh
static std::shared_ptr< std::unordered_map< std::string, MeshAttribute > > m_NameToAttributeDictionary = std::make_shared<std::unordered_map<std::string, MeshAttribute>>()
 

Detailed Description

SkeletalMesh class.

Constructor & Destructor Documentation

◆ SkeletalMesh()

Karma::SkeletalMesh::SkeletalMesh ( std::shared_ptr< VertexBuffer > vertexBuffer,
std::shared_ptr< IndexBuffer > indexBuffer,
const std::string & meshName = "NoName" )

A constructor.

Parameters
vertexBufferPath to vertex shader (filename included). For instance "../Resources/Shaders/shader.vert", relative to Engine's running directory
indexBufferPath to indexBuffer
meshNameName of the mesh (m_MeshName)
Since
Karma 1.0.0

Member Function Documentation

◆ ProcessMesh()

void Karma::SkeletalMesh::ProcessMesh ( aiMesh * meshToProcess)
overridevirtual

To be written appropriately.

Since
Karma 1.0.0

Reimplemented from Karma::Mesh.


The documentation for this class was generated from the following files: