Files
directx-plane-game/Graphics2/Mesh.cpp
iDunnoDev 65255f1321 Added the ASSIMP library
Added the files provided for the tutorial
Added the SplitMeshNode and SubMeshNode classes
2022-03-18 21:26:31 +00:00

71 lines
1.2 KiB
C++

#include "Mesh.h"
// Material methods
Material::Material(wstring materialName, XMFLOAT4 diffuseColour, XMFLOAT4 specularColour, float shininess, float opacity, ComPtr<ID3D11ShaderResourceView> texture )
{
_materialName = materialName;
_diffuseColour = diffuseColour;
_specularColour = specularColour;
_shininess = shininess;
_opacity = opacity;
_texture = texture;
}
Material::~Material(void)
{
}
// SubMesh methods
SubMesh::SubMesh(ComPtr<ID3D11Buffer> vertexBuffer,
ComPtr<ID3D11Buffer> indexBuffer,
size_t vertexCount,
size_t indexCount,
shared_ptr<Material> material)
{
_vertexBuffer = vertexBuffer;
_indexBuffer = indexBuffer;
_vertexCount = vertexCount;
_indexCount = indexCount;
_material = material;
}
SubMesh::~SubMesh(void)
{
}
// Mesh methods
size_t Mesh::GetSubMeshCount()
{
return _subMeshList.size();
}
shared_ptr<SubMesh> Mesh::GetSubMesh(unsigned int i)
{
if (i >= 0 && i < _subMeshList.size())
{
return _subMeshList[i];
}
else
{
return nullptr;
}
}
void Mesh::AddSubMesh(shared_ptr<SubMesh> subMesh)
{
_subMeshList.push_back(subMesh);
}
shared_ptr<Node> Mesh::GetRootNode()
{
return _rootNode;
}
void Mesh::SetRootNode(shared_ptr<Node> node)
{
_rootNode = node;
}