projects
/
carveJwlIkooP6JGAAIwe30JlM.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
dead
[carveJwlIkooP6JGAAIwe30JlM.git]
/
world_gen.h
diff --git
a/world_gen.h
b/world_gen.h
index 47ed5ee9c9b64624c20bf060c90921f3bb7d8037..3a66523991d09c1efac6812fb7c48a40c8b6532e 100644
(file)
--- a/
world_gen.h
+++ b/
world_gen.h
@@
-56,7
+56,12
@@
VG_STATIC void world_apply_procedural_foliage( struct world_material *mat )
int count = 0;
int count = 0;
- for( int i=0;i<100000;i++ )
+ 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 );
@@
-66,7
+71,7
@@
VG_STATIC void world_apply_procedural_foliage( struct world_material *mat )
ray_hit hit;
hit.dist = INFINITY;
ray_hit hit;
hit.dist = INFINITY;
- if( ray_world( pos, (v3f){0.0
001f,-1.0f,0.0001
f}, &hit ))
+ if( ray_world( pos, (v3f){0.0
f,-1.0f,0.0
f}, &hit ))
{
struct world_material *m1 = ray_hit_material( &hit );
if((hit.normal[1] > 0.8f) && (m1 == mat) && (hit.pos[1] > 0.0f+10.0f))
{
struct world_material *m1 = ray_hit_material( &hit );
if((hit.normal[1] > 0.8f) && (m1 == mat) && (hit.pos[1] > 0.0f+10.0f))
@@
-588,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)