1
0
Fork 0
mirror of https://github.com/bjornbytes/lovr.git synced 2024-07-05 22:03:36 +00:00
lovr/src/graphics/model.h
2017-11-20 18:50:06 -08:00

34 lines
864 B
C

#include "loaders/model.h"
#include "loaders/animation.h"
#include "graphics/animator.h"
#include "graphics/material.h"
#include "graphics/mesh.h"
#include "graphics/texture.h"
#include "math/math.h"
#include "lib/glfw.h"
#include "util.h"
#include <stdbool.h>
#pragma once
typedef struct {
Ref ref;
ModelData* modelData;
Mesh* mesh;
Material** materials;
Animator* animator;
float pose[MAX_BONES][16];
float (*nodeTransforms)[16];
float aabb[6];
bool aabbDirty;
} Model;
Model* lovrModelCreate(ModelData* modelData);
void lovrModelDestroy(const Ref* ref);
void lovrModelDraw(Model* model, mat4 transform);
Animator* lovrModelGetAnimator(Model* model);
void lovrModelSetAnimator(Model* model, Animator* animator);
int lovrModelGetAnimationCount(Model* model);
Mesh* lovrModelGetMesh(Model* model);
const float* lovrModelGetAABB(Model* model);