mirror of https://github.com/bjornbytes/lovr.git
Fix Model paths;
This commit is contained in:
parent
74c78d7f3e
commit
5188e5d830
|
@ -56,9 +56,9 @@ static void visitNode(ModelData* modelData, ModelNode* node, mat4 transform, vec
|
|||
}
|
||||
}
|
||||
|
||||
Model* lovrModelCreate(const char* filename) {
|
||||
Model* lovrModelCreate(void* data, int size) {
|
||||
Model* model = malloc(sizeof(model));
|
||||
model->modelData = lovrModelDataCreate(filename);
|
||||
model->modelData = lovrModelDataCreate(data, size);
|
||||
|
||||
vec_float_t vertices;
|
||||
vec_init(&vertices);
|
||||
|
|
|
@ -10,6 +10,6 @@ typedef struct {
|
|||
} Model;
|
||||
#endif
|
||||
|
||||
Model* lovrModelCreate(const char* filename);
|
||||
Model* lovrModelCreate(void* data, int size);
|
||||
void lovrModelDestroy(Model* model);
|
||||
void lovrModelDraw(Model* model, float x, float y, float z, float scale, float angle, float ax, float ay, float az);
|
||||
|
|
|
@ -507,7 +507,10 @@ int l_lovrGraphicsNewBuffer(lua_State* L) {
|
|||
|
||||
int l_lovrGraphicsNewModel(lua_State* L) {
|
||||
const char* path = luaL_checkstring(L, 1);
|
||||
luax_pushmodel(L, lovrModelCreate(path));
|
||||
int size;
|
||||
void* data = lovrFilesystemRead(path, &size);
|
||||
luax_pushmodel(L, lovrModelCreate(data, size));
|
||||
free(data);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -24,9 +24,9 @@ static void assimpNodeTraversal(ModelNode* node, struct aiNode* assimpNode) {
|
|||
}
|
||||
}
|
||||
|
||||
ModelData* lovrModelDataCreate(const char* filename) {
|
||||
ModelData* lovrModelDataCreate(void* data, int size) {
|
||||
ModelData* modelData = malloc(sizeof(ModelData));
|
||||
const struct aiScene* scene = aiImportFile(filename, aiProcessPreset_TargetRealtime_MaxQuality | aiProcess_OptimizeGraph);
|
||||
const struct aiScene* scene = aiImportFileFromMemory(data, size, aiProcessPreset_TargetRealtime_MaxQuality | aiProcess_OptimizeGraph, NULL);
|
||||
|
||||
// Meshes
|
||||
vec_init(&modelData->meshes);
|
||||
|
|
|
@ -41,5 +41,5 @@ typedef struct {
|
|||
|
||||
#endif
|
||||
|
||||
ModelData* lovrModelDataCreate(const char* filename);
|
||||
ModelData* lovrModelDataCreate(void* data, int size);
|
||||
void lovrModelDataDestroy(ModelData* modelData);
|
||||
|
|
Loading…
Reference in New Issue