X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=scene.h;h=81d00c3f5c94c06f15ea1be92e80fbb69038a42f;hb=7398f8a24aaba107bafb5ab5c55141b94e10027b;hp=fb758eb5a3e47edb0a6396db06886d1c1a99628e;hpb=0ca7f5ca2560908de1a03db112df67e52b476107;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/scene.h b/scene.h index fb758eb..81d00c3 100644 --- a/scene.h +++ b/scene.h @@ -78,8 +78,7 @@ VG_STATIC void scene_vert_pack_norm( scene_vert *vert, v3f norm ) VG_STATIC void scene_add_mdl_submesh( scene *pscene, mdl_context *mdl, mdl_submesh *sm, m4x3f transform ) { - if( pscene->vertex_count + sm->vertex_count > pscene->max_vertices ) - { + if( pscene->vertex_count + sm->vertex_count > pscene->max_vertices ){ vg_error( "%u(current) + %u > %u\n", pscene->vertex_count, sm->vertex_count, pscene->max_vertices ); @@ -88,8 +87,7 @@ VG_STATIC void scene_add_mdl_submesh( scene *pscene, mdl_context *mdl, vg_fatal_exit_loop( "Scene vertex buffer overflow" ); } - if( pscene->indice_count + sm->indice_count > pscene->max_indices ) - { + if( pscene->indice_count + sm->indice_count > pscene->max_indices ){ vg_error( "%u(current) + %u > %u\n", pscene->indice_count, sm->indice_count, pscene->max_indices ); @@ -98,10 +96,10 @@ VG_STATIC void scene_add_mdl_submesh( scene *pscene, mdl_context *mdl, vg_fatal_exit_loop( "Scene index buffer overflow" ); } - mdl_vert *src_verts = mdl_submesh_vertices( mdl, sm ); + mdl_vert *src_verts = mdl_arritm( &mdl->verts, sm->vertex_start ); scene_vert *dst_verts = &pscene->arrvertices[ pscene->vertex_count ]; - u32 *src_indices = mdl_submesh_indices( mdl, sm ), + u32 *src_indices = mdl_arritm( &mdl->indices, sm->indice_start ), *dst_indices = &pscene->arrindices[ pscene->indice_count ]; /* Transform and place vertices */ @@ -116,8 +114,7 @@ VG_STATIC void scene_add_mdl_submesh( scene *pscene, mdl_context *mdl, v3_normalize( normal_matrix[1] ); v3_normalize( normal_matrix[2] ); - for( u32 i=0; ivertex_count; i++ ) - { + for( u32 i=0; ivertex_count; i++ ){ mdl_vert *src = &src_verts[ i ]; scene_vert *pvert = &dst_verts[ i ]; @@ -250,7 +247,7 @@ VG_STATIC void scene_upload( scene *pscene, glmesh *mesh ) glEnableVertexAttribArray( 0 ); /* 1: normal */ - glVertexAttribPointer( 1, 3, GL_BYTE, GL_TRUE, + glVertexAttribPointer( 1, 4, GL_BYTE, GL_TRUE, stride, (void *)offsetof(scene_vert, norm) ); glEnableVertexAttribArray( 1 );