X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=scene.h;h=aaecfcce803f3fe04b6af604b83600bb002ac071;hb=d57b7661518800479c00300ce57407378696eec9;hp=3e3829ecc526c3299cdb9bc8b69db7df09468ac7;hpb=1c97cb161f885ad24d3356d92c8f4fd0e252bc61;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/scene.h b/scene.h index 3e3829e..aaecfcc 100644 --- a/scene.h +++ b/scene.h @@ -114,6 +114,12 @@ static void scene_add_submesh( scene *pscene, mdl_header *mdl, &pscene->vertex_cap, sm->vertex_count, sizeof(mdl_vert) ); pscene->indices = buffer_reserve( pscene->indices, pscene->indice_count, &pscene->indice_cap, sm->indice_count, sizeof(u32) ); + + m3x3f normal_matrix; + m3x3_copy( transform, normal_matrix ); + v3_normalize( normal_matrix[0] ); + v3_normalize( normal_matrix[1] ); + v3_normalize( normal_matrix[2] ); /* Transform and place vertices */ mdl_vert *src_verts = mdl_submesh_vertices( mdl, sm ); @@ -130,7 +136,7 @@ static void scene_add_submesh( scene *pscene, mdl_header *mdl, *src = &src_verts[ i ]; m4x3_mulv( transform, src->co, pvert->co ); - m3x3_mulv( transform, src->norm, pvert->norm ); + m3x3_mulv( normal_matrix, src->norm, pvert->norm ); v4_copy( src->colour, pvert->colour ); v2_copy( src->uv, pvert->uv );