projects
/
carveJwlIkooP6JGAAIwe30JlM.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
j
[carveJwlIkooP6JGAAIwe30JlM.git]
/
world_gen.h
diff --git
a/world_gen.h
b/world_gen.h
index 1648bdf490370113e0b954f1a2d26b8b1c6b7c53..3a66523991d09c1efac6812fb7c48a40c8b6532e 100644
(file)
--- a/
world_gen.h
+++ b/
world_gen.h
@@
-54,7
+54,14
@@
VG_STATIC void world_apply_procedural_foliage( struct world_material *mat )
mdl_node *mblob = mdl_node_from_name( mfoliage, "blob" );
mdl_submesh *sm_blob = mdl_node_submesh( mfoliage, mblob, 0 );
mdl_node *mblob = mdl_node_from_name( mfoliage, "blob" );
mdl_submesh *sm_blob = mdl_node_submesh( mfoliage, mblob, 0 );
- for( int i=0;i<100000;i++ )
+ int count = 0;
+
+ float area = volume[0]*volume[2];
+ u32 particles = 0.08f * area;
+
+ vg_info( "Map area: %f. Max particles: %u\n", area, particles );
+
+ for( int i=0;i<particles;i++ )
{
v3f pos;
v3_mul( volume, (v3f){ vg_randf(), 1000.0f, vg_randf() }, pos );
{
v3f pos;
v3_mul( volume, (v3f){ vg_randf(), 1000.0f, vg_randf() }, pos );
@@
-83,9
+90,13
@@
VG_STATIC void world_apply_procedural_foliage( struct world_material *mat )
v3_copy( hit.pos, transform[3] );
scene_add_submesh( world.scene_no_collide, mfoliage,
sm_blob, transform);
v3_copy( hit.pos, transform[3] );
scene_add_submesh( world.scene_no_collide, mfoliage,
sm_blob, transform);
+
+ count ++;
}
}
}
}
}
}
+
+ vg_info( "%d foliage models added\n", count );
}
VG_STATIC void world_ents_allocate(void)
}
VG_STATIC void world_ents_allocate(void)
@@
-582,11
+593,12
@@
VG_STATIC void world_post_process(void)
vg_release_thread_sync();
vg_release_thread_sync();
+#if 0
/*
* Setup scene collider
*/
/*
* Setup scene collider
*/
-
reset_player( 1, (const char *[]){"start"} );
reset_player( 1, (const char *[]){"start"} );
+#endif
}
VG_STATIC void world_process_resources(void)
}
VG_STATIC void world_process_resources(void)