foliage windy shader
[carveJwlIkooP6JGAAIwe30JlM.git] / world_gen.c
index 51d0302badbeba28a6a7a7d5581f6b426df0348a..df5b342e40fb11965c963a0ce4009db6a4da31bb 100644 (file)
@@ -85,13 +85,12 @@ static void world_gen_add_blob( world_instance *world,
 
    scene_vert *ref       = &world->scene_geo.arrvertices[ hit->tri[0] ];
 
-   for( u32 i=0; i<vg_list_size(verts); i++ )
-   {
+   for( u32 i=0; i<vg_list_size(verts); i++ ){
       scene_vert *pvert = &dst_verts[ i ],
                  *src   = &verts[ i ];
 
       m4x3_mulv( transform, src->co, pvert->co );
-      scene_vert_pack_norm( pvert, transform[1] );
+      scene_vert_pack_norm( pvert, transform[1], 0.0f );
 
       v2_copy( ref->uv, pvert->uv );
    }
@@ -287,6 +286,17 @@ static void world_gen_generate_meshes( world_instance *world ){
       }
    }
 
+   /* unpack region models */
+   for( u32 i=0; i<mdl_arrcount( &world->ent_region ); i++ ){
+      ent_region *region = mdl_arritm( &world->ent_region, i );
+
+      for( u32 j=0; j<region->submesh_count; j ++ ){
+         mdl_submesh *sm = mdl_arritm( &world->meta.submeshs, 
+                                       region->submesh_start+j );
+         world_unpack_submesh_dynamic( world, &world->scene_no_collide, sm );
+      }
+   }
+
    /* unpack gate models */
    for( u32 i=0; i<mdl_arrcount( &world->ent_gate ); i++ ){
       ent_gate *gate = mdl_arritm( &world->ent_gate, i );