/src/renderer/mesh.h
https://bitbucket.org/vivkin/gam3b00bs/ · C Header · 61 lines · 29 code · 10 blank · 22 comment · 0 complexity · bafc4bee2b75c8837b01e59fea81ea7b MD5 · raw file
- /*
- ƒва файла, *.mesh и с тем же именем *.blob
-
- mesh:
-
- mesh_header_t 20 байт
- subset_data sizeof( subset_t ) * subset_count;
-
- blob:
-
- vertex_data vertex_size * vertex_count байт
- index_data index_size * index_count байт
- */
- //-----------------------------------------------------------------------------
-
- #pragma once
-
- #include "types.h"
- #include "renderer/device.h"
- //-----------------------------------------------------------------------------
-
- #define MAX_SUBSETS 16
- //-----------------------------------------------------------------------------
-
- //fwd decl
-
- struct buffer_t;
- //-----------------------------------------------------------------------------
-
- struct mesh_header_t
- {
- uint32 vertex_size;
- uint32 vertex_count;
- uint32 vertex_type;
- uint32 index_size; // либо 16, либо 32, иначе assert
- uint32 index_count;
- uint32 subset_count;
- };
- //-----------------------------------------------------------------------------
-
- struct subset_t
- {
- uint32 index_offset;
- uint32 vertex_offset;
- uint32 index_count;
- };
- //-----------------------------------------------------------------------------
-
- struct mesh_t
- {
- mesh_header_t header;
- subset_t subsets[MAX_SUBSETS];
- vbuffer_h vb;
- ibuffer_h ib;
- };
-
- typedef mesh_t* mesh_h;
- //-----------------------------------------------------------------------------
-
- mesh_h mesh_load( const char* dir, const char* name );
- //-----------------------------------------------------------------------------