mesh refactor 2
This commit is contained in:
@@ -15,7 +15,7 @@
|
||||
|
||||
namespace Tyra {
|
||||
|
||||
DynamicMesh::DynamicMesh(const MeshBuilder2Data& data) : Mesh(data) {
|
||||
DynamicMesh::DynamicMesh(const MeshBuilderData& data) : Mesh(data) {
|
||||
framesCount = data.materials[0]->frames.size();
|
||||
|
||||
if (framesCount == 1) {
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
namespace Tyra {
|
||||
|
||||
Mesh::Mesh(const MeshBuilder2Data& data) {
|
||||
Mesh::Mesh(const MeshBuilderData& data) {
|
||||
init();
|
||||
|
||||
TYRA_ASSERT(data.materials.size() > 0,
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
namespace Tyra {
|
||||
|
||||
MeshFrame::MeshFrame(const MeshBuilder2Data& data, const u32& index) {
|
||||
MeshFrame::MeshFrame(const MeshBuilderData& data, const u32& index) {
|
||||
id = rand() % 1000000;
|
||||
|
||||
auto bboxes = new CoreBBox*[data.materials.size()];
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
namespace Tyra {
|
||||
|
||||
MeshMaterial::MeshMaterial(const MeshBuilder2Data& data,
|
||||
MeshMaterial::MeshMaterial(const MeshBuilderData& data,
|
||||
const u32& materialIndex) {
|
||||
TYRA_ASSERT(materialIndex < data.materials.size(), "Provided index \"",
|
||||
materialIndex, "\" is out of range");
|
||||
@@ -44,8 +44,17 @@ MeshMaterial::MeshMaterial(const MeshBuilder2Data& data,
|
||||
|
||||
framesCount = material->frames.size();
|
||||
frames = new MeshMaterialFrame*[framesCount];
|
||||
u32 lastVertexCount = 0;
|
||||
|
||||
for (u32 i = 0; i < framesCount; i++) {
|
||||
frames[i] = new MeshMaterialFrame(data, i, materialIndex);
|
||||
|
||||
if (i > 0) {
|
||||
TYRA_ASSERT(frames[i]->getVertexCount() == lastVertexCount,
|
||||
"Vertex count must be the same for all frames");
|
||||
}
|
||||
|
||||
lastVertexCount = frames[i]->getVertexCount();
|
||||
}
|
||||
|
||||
_isMother = true;
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
namespace Tyra {
|
||||
|
||||
MeshMaterialFrame::MeshMaterialFrame(const MeshBuilder2Data& data,
|
||||
MeshMaterialFrame::MeshMaterialFrame(const MeshBuilderData& data,
|
||||
const u32& frameIndex,
|
||||
const u32& materialIndex) {
|
||||
TYRA_ASSERT(materialIndex < data.materials.size(), "Provided index \"",
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
namespace Tyra {
|
||||
|
||||
StaticMesh::StaticMesh(const MeshBuilder2Data& data) : Mesh(data) {
|
||||
StaticMesh::StaticMesh(const MeshBuilderData& data) : Mesh(data) {
|
||||
if (data.materials[0]->frames.size() > 1)
|
||||
TYRA_WARN("Static meshes should have only one frame, but ",
|
||||
data.materials[0]->frames.size(), " frames were found");
|
||||
|
||||
Reference in New Issue
Block a user