33 lines
778 B
C++
33 lines
778 B
C++
#pragma once
|
|
#define STB_IMAGE_IMPLEMENTATION
|
|
#define STB_IMAGE_WRITE_IMPLEMENTATION
|
|
|
|
#define TINYGLTF_IMPLEMENTATION
|
|
#define TINYGLTF_NO_EXTERNAL_IMAGE
|
|
|
|
#include "Graphics/Mesh.h"
|
|
#include <assimp/Importer.hpp>
|
|
#include <assimp/scene.h>
|
|
#include <assimp/postprocess.h>
|
|
#include <string>
|
|
#include "Scene/SceneNodeTypes.h"
|
|
|
|
void ProcessVertices(aiMesh* mesh, std::vector<BarinkEngine::Vertex>& out_vertices);
|
|
void ProcessIndices(aiMesh* mesh, std::vector<unsigned int>& out_indices);
|
|
|
|
|
|
class ModelImporter {
|
|
|
|
public:
|
|
|
|
SceneObject* Import(const std::string path);
|
|
|
|
|
|
private:
|
|
|
|
static BarinkEngine::Mesh ModelImporter::processMesh(aiMesh* mesh, const aiScene* scene);
|
|
static std::vector<BarinkEngine::Mesh> ModelImporter::processNode(aiNode* node, const aiScene* scene);
|
|
|
|
|
|
|
|
}; |