Files
BlitzNext/Runtime/blitz3d/meshloader.hpp
T
Michael Fabian 'Xaymar' Dirks 3afa84df85 runtime/blitz3d: Fixup C++ification
2019-01-18 21:26:42 +01:00

37 lines
773 B
C++

#pragma once
#include "brush.hpp"
#include "surface.hpp"
class MeshModel;
class MeshLoader {
public:
enum { HINT_COLLAPSE = 1, HINT_ANIMONLY = 2 };
virtual MeshModel* load(const std::string& f, const Transform& conv, int hint) = 0;
//clear
static void beginMesh();
//add a vertex
static void addVertex(const Surface::Vertex& v);
//add a triangle
static void addTriangle(const int verts[3], const Brush& b);
//also add a triangle
static void addTriangle(int v0, int v1, int v2, const Brush& b);
//add a bone
static void addBone(int vert, float weight, int bone);
//reference a vertex
static Surface::Vertex& refVertex(int vert);
//number of verts
static int numVertices();
//finally, update the mesh...
static void endMesh(MeshModel* mesh);
};