mesh refactor 2
This commit is contained in:
+5
-5
@@ -12,7 +12,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <vector>
|
||||
#include "./mesh_builder2_material_data.hpp"
|
||||
#include "./mesh_builder_material_data.hpp"
|
||||
|
||||
namespace Tyra {
|
||||
|
||||
@@ -21,12 +21,12 @@ namespace Tyra {
|
||||
* All dynamic data ownership is moved to mesh class, so
|
||||
* verts, coords.. are not deallocated!
|
||||
*/
|
||||
class MeshBuilder2Data {
|
||||
class MeshBuilderData {
|
||||
public:
|
||||
MeshBuilder2Data();
|
||||
~MeshBuilder2Data();
|
||||
MeshBuilderData();
|
||||
~MeshBuilderData();
|
||||
|
||||
std::vector<MeshBuilder2MaterialData*> materials;
|
||||
std::vector<MeshBuilderMaterialData*> materials;
|
||||
|
||||
bool textureCoordsEnabled, normalsEnabled, lightMapEnabled;
|
||||
};
|
||||
+5
-5
@@ -13,17 +13,17 @@
|
||||
|
||||
#include <vector>
|
||||
#include <string>
|
||||
#include "./mesh_builder2_material_frame_data.hpp"
|
||||
#include "./mesh_builder_material_frame_data.hpp"
|
||||
#include "renderer/models/color.hpp"
|
||||
|
||||
namespace Tyra {
|
||||
|
||||
class MeshBuilder2MaterialData {
|
||||
class MeshBuilderMaterialData {
|
||||
public:
|
||||
MeshBuilder2MaterialData();
|
||||
~MeshBuilder2MaterialData();
|
||||
MeshBuilderMaterialData();
|
||||
~MeshBuilderMaterialData();
|
||||
|
||||
std::vector<MeshBuilder2MaterialFrameData*> frames;
|
||||
std::vector<MeshBuilderMaterialFrameData*> frames;
|
||||
std::string name;
|
||||
Color ambient;
|
||||
};
|
||||
+3
-3
@@ -17,10 +17,10 @@
|
||||
|
||||
namespace Tyra {
|
||||
|
||||
class MeshBuilder2MaterialFrameData {
|
||||
class MeshBuilderMaterialFrameData {
|
||||
public:
|
||||
MeshBuilder2MaterialFrameData();
|
||||
~MeshBuilder2MaterialFrameData();
|
||||
MeshBuilderMaterialFrameData();
|
||||
~MeshBuilderMaterialFrameData();
|
||||
|
||||
u32 count;
|
||||
Vec4 *vertices, *textureCoords, *normals;
|
||||
@@ -11,7 +11,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "../../loader.hpp"
|
||||
#include "../builder2/mesh_builder2_data.hpp"
|
||||
#include "../builder/mesh_builder_data.hpp"
|
||||
#include <string>
|
||||
|
||||
namespace Tyra {
|
||||
@@ -22,11 +22,11 @@ class MD2Loader : public Loader {
|
||||
MD2Loader();
|
||||
~MD2Loader();
|
||||
|
||||
MeshBuilder2Data* load(const char* fullpath, const float& scale,
|
||||
const bool& invertT);
|
||||
MeshBuilderData* load(const char* fullpath, const float& scale,
|
||||
const bool& invertT);
|
||||
|
||||
inline MeshBuilder2Data* load(const std::string& fullpath, const float& scale,
|
||||
const bool& invertT) {
|
||||
inline MeshBuilderData* load(const std::string& fullpath, const float& scale,
|
||||
const bool& invertT) {
|
||||
return load(fullpath.c_str(), scale, invertT);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "../../loader.hpp"
|
||||
#include "../builder2/mesh_builder2_data.hpp"
|
||||
#include "../builder/mesh_builder_data.hpp"
|
||||
#include <string>
|
||||
#include "renderer/models/color.hpp"
|
||||
#include "loaders/3d/obj_loader/tiny_obj_loader.hpp"
|
||||
@@ -25,27 +25,27 @@ class ObjLoader : public Loader {
|
||||
~ObjLoader();
|
||||
|
||||
/** Load multiple obj files (dynamic) */
|
||||
MeshBuilder2Data* load(const char* fullpath, const u16& count,
|
||||
const float& scale, const bool& invertT);
|
||||
MeshBuilderData* load(const char* fullpath, const u16& count,
|
||||
const float& scale, const bool& invertT);
|
||||
|
||||
inline MeshBuilder2Data* load(const std::string& fullpath, const u16& count,
|
||||
const float& scale, const bool& invertT) {
|
||||
inline MeshBuilderData* load(const std::string& fullpath, const u16& count,
|
||||
const float& scale, const bool& invertT) {
|
||||
return load(fullpath.c_str(), count, scale, invertT);
|
||||
}
|
||||
|
||||
private:
|
||||
void addOutputMaterialsAndFrames(
|
||||
MeshBuilder2Data* output, const tinyobj::attrib_t& attrib,
|
||||
MeshBuilderData* output, const tinyobj::attrib_t& attrib,
|
||||
const std::vector<tinyobj::shape_t>& shapes,
|
||||
const std::vector<tinyobj::material_t>& materials,
|
||||
const u16& framesCount);
|
||||
|
||||
void scan(MeshBuilder2Data* output, const tinyobj::attrib_t& attrib,
|
||||
void scan(MeshBuilderData* output, const tinyobj::attrib_t& attrib,
|
||||
const std::vector<tinyobj::shape_t>& shapes,
|
||||
const std::vector<tinyobj::material_t>& materials,
|
||||
const u16& frameIndex);
|
||||
|
||||
void importFrame(MeshBuilder2Data* output, const tinyobj::attrib_t& attrib,
|
||||
void importFrame(MeshBuilderData* output, const tinyobj::attrib_t& attrib,
|
||||
const std::vector<tinyobj::shape_t>& shapes,
|
||||
const std::vector<tinyobj::material_t>& materials,
|
||||
const u16& frameIndex, const float& scale,
|
||||
|
||||
Reference in New Issue
Block a user