You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
758 B
41 lines
758 B
|
|
#pragma once |
|
|
|
#include <glm/glm.hpp> |
|
|
|
#include "animation.h" |
|
#include "util.h" |
|
#include "util_image.h" |
|
|
|
|
|
struct mesh_asset |
|
{ |
|
uint asset_size; |
|
uint num_vertices; |
|
uint num_indices; |
|
mesh_asset* next; |
|
glm::mat4 model_transform; |
|
glm::vec3* vertices; |
|
uint* indices; |
|
glm::vec3* texture_coords; |
|
}; |
|
|
|
#define MAX_PATH_SIZE 256 |
|
struct render_asset |
|
{ |
|
uint total_size; |
|
uint num_meshes; |
|
uint name_len; |
|
render_asset* next; |
|
char* filepath; |
|
mesh_asset* meshes; // NOTE: fixed sized array |
|
// NOTE: pointer to a texture in render_state->textures |
|
util_image* diffuse_texture; |
|
// FIXME: node_animation has a pointer to a render_object. need to decouple |
|
// that somehow |
|
//node_animation* node_anim; |
|
}; |
|
|
|
render_asset* |
|
assetLoadFromFile(const char* filename); |
|
|
|
|