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
@@ -0,0 +1,34 @@
/*
# ______ ____ ___
# | \/ ____| |___|
# | | | \ | |
#-----------------------------------------------------------------------
# Copyright 2022, tyra - https://github.com/h4570/tyra
# Licenced under Apache License 2.0
# Sandro Sobczyński <sandro.sobczynski@gmail.com>
*/
#pragma once
#include <vector>
#include "./mesh_builder_material_data.hpp"
namespace Tyra {
/**
* Data needed for constructing mesh class.
* All dynamic data ownership is moved to mesh class, so
* verts, coords.. are not deallocated!
*/
class MeshBuilderData {
public:
MeshBuilderData();
~MeshBuilderData();
std::vector<MeshBuilderMaterialData*> materials;
bool textureCoordsEnabled, normalsEnabled, lightMapEnabled;
};
} // namespace Tyra
@@ -0,0 +1,31 @@
/*
# ______ ____ ___
# | \/ ____| |___|
# | | | \ | |
#-----------------------------------------------------------------------
# Copyright 2022, tyra - https://github.com/h4570/tyra
# Licenced under Apache License 2.0
# Sandro Sobczyński <sandro.sobczynski@gmail.com>
*/
#pragma once
#include <vector>
#include <string>
#include "./mesh_builder_material_frame_data.hpp"
#include "renderer/models/color.hpp"
namespace Tyra {
class MeshBuilderMaterialData {
public:
MeshBuilderMaterialData();
~MeshBuilderMaterialData();
std::vector<MeshBuilderMaterialFrameData*> frames;
std::string name;
Color ambient;
};
} // namespace Tyra
@@ -0,0 +1,30 @@
/*
# ______ ____ ___
# | \/ ____| |___|
# | | | \ | |
#-----------------------------------------------------------------------
# Copyright 2022, tyra - https://github.com/h4570/tyra
# Licenced under Apache License 2.0
# Sandro Sobczyński <sandro.sobczynski@gmail.com>
*/
#pragma once
#include <tamtypes.h>
#include "math/vec4.hpp"
#include "renderer/models/color.hpp"
namespace Tyra {
class MeshBuilderMaterialFrameData {
public:
MeshBuilderMaterialFrameData();
~MeshBuilderMaterialFrameData();
u32 count;
Vec4 *vertices, *textureCoords, *normals;
Color* colors;
};
} // namespace Tyra