Added the ASSIMP library
Added the files provided for the tutorial Added the SplitMeshNode and SubMeshNode classes
This commit is contained in:
70
Graphics2/Mesh.cpp
Normal file
70
Graphics2/Mesh.cpp
Normal file
@ -0,0 +1,70 @@
|
||||
#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;
|
||||
}
|
Reference in New Issue
Block a user