mesh refactor 2

This commit is contained in:
h4570
2022-08-10 17:57:42 +02:00
parent 725c17f9d4
commit a0898e7b4c
23 changed files with 75 additions and 70 deletions
@@ -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) {
+1 -1
View File
@@ -13,7 +13,7 @@
namespace Tyra {
Mesh::Mesh(const MeshBuilder2Data& data) {
Mesh::Mesh(const MeshBuilderData& data) {
init();
TYRA_ASSERT(data.materials.size() > 0,
+1 -1
View File
@@ -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()];
+10 -1
View File
@@ -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");