parg_mesh* parg_mesh_from_file(const char* filepath) { parg_mesh* surf = calloc(sizeof(struct parg_mesh_s), 1); int* rawdata; parg_buffer* objbuf = parg_buffer_from_file(filepath); parg_load_obj(surf, objbuf); parg_buffer_free(objbuf); return surf; }
parg_buffer* parg_buffer_from_path(const char* filename) { #if EMSCRIPTEN sds baseurl = parg_asset_baseurl(); sds fullurl = sdscat(sdsdup(baseurl), filename); parg_buffer* retval = 0; printf("TODO: download %s here\n", fullurl); sdsfree(fullurl); #else sds execdir = parg_asset_whereami(); sds fullpath = sdscat(sdsdup(execdir), filename); if (!parg_asset_fileexists(fullpath)) { parg_asset_download(filename, fullpath); } parg_buffer* retval = parg_buffer_from_file(fullpath); sdsfree(fullpath); #endif return retval; }