projects
/
carveJwlIkooP6JGAAIwe30JlM.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
menu upgrades
[carveJwlIkooP6JGAAIwe30JlM.git]
/
world_routes.c
diff --git
a/world_routes.c
b/world_routes.c
index bd91b3c441bb41392593300ae87cb5f03c67aadf..3e21df0def867a4187f0c776aad3b2116747715e 100644
(file)
--- a/
world_routes.c
+++ b/
world_routes.c
@@
-365,8
+365,8
@@
void world_routes_place_curve( world_instance *world, ent_route *route,
ha.dist = 8.0f;
hb.dist = 8.0f;
ha.dist = 8.0f;
hb.dist = 8.0f;
- int resa = ray_world( world, sa, down, &ha ),
- resb = ray_world( world, sb, down, &hb );
+ int resa = ray_world( world, sa, down, &ha
, k_material_flag_ghosts
),
+ resb = ray_world( world, sb, down, &hb
, k_material_flag_ghosts
);
if( pcbuf && resa ){
world_routes_pointcloud_spot( world, pcbuf, ha.pos,
if( pcbuf && resa ){
world_routes_pointcloud_spot( world, pcbuf, ha.pos,
@@
-712,6
+712,10
@@
VG_STATIC void world_routes_surface_grid( world_instance *world,
u32 *tri = &world->scene_geo.arrindices[ idx*3 ];
v3f vs[3];
u32 *tri = &world->scene_geo.arrindices[ idx*3 ];
v3f vs[3];
+ u16 mask = k_material_flag_preview_visibile;
+ if( !(world->scene_geo.arrvertices[tri[0]].flags & mask) )
+ continue;
+
for( u32 i=0; i<3; i++ ){
v3_copy( world->scene_geo.arrvertices[tri[i]].co, vs[i] );
}
for( u32 i=0; i<3; i++ ){
v3_copy( world->scene_geo.arrvertices[tri[i]].co, vs[i] );
}
@@
-719,11
+723,6
@@
VG_STATIC void world_routes_surface_grid( world_instance *world,
f32 t;
if( ray_tri( vs, ro, dir, &t ) ){
v3_muladds( ro, dir, t, hit );
f32 t;
if( ray_tri( vs, ro, dir, &t ) ){
v3_muladds( ro, dir, t, hit );
- struct world_surface *m1 =
- world_tri_index_surface( world, tri[0] );
-
- if( !(m1->info.flags & k_material_flag_preview_visibile) )
- continue;
if( world->water.enabled )
if( hit[1] < world->water.height )
if( world->water.enabled )
if( hit[1] < world->water.height )
@@
-850,6
+849,8
@@
VG_STATIC void world_gen_routes_generate( u32 instance_id ){
if( instance_id <= 1 /*world_loader.generate_point_cloud*/ ){
f64 area = 0.0;
if( instance_id <= 1 /*world_loader.generate_point_cloud*/ ){
f64 area = 0.0;
+
+#if VG_RELEASE
area = world_routes_scatter_surface_points( world, pcbuf, 16.0f );
world_routes_surface_grid( world, pcbuf );
area = world_routes_scatter_surface_points( world, pcbuf, 16.0f );
world_routes_surface_grid( world, pcbuf );
@@
-860,8
+861,9
@@
VG_STATIC void world_gen_routes_generate( u32 instance_id ){
2.0f, 50.0f, 128,
(v4f){0.2f,0.2f,0.2f,1.0f} );
}
2.0f, 50.0f, 128,
(v4f){0.2f,0.2f,0.2f,1.0f} );
}
+#endif
- vg_info( "Distr
u
buted %u points over %fkm^2!\n",
+ vg_info( "Distr
i
buted %u points over %fkm^2!\n",
pcbuf->count, area/1e6f );
world_write_preview( instance_id? world_static.addon_client:
pcbuf->count, area/1e6f );
world_write_preview( instance_id? world_static.addon_client:
@@
-980,7
+982,8
@@
VG_STATIC void world_routes_fixedupdate( world_instance *world )
int l = rb_sphere__scene( particle->obj.rb.to_world,
&particle->obj.inf.sphere,
int l = rb_sphere__scene( particle->obj.rb.to_world,
&particle->obj.inf.sphere,
- NULL, &world->rb_geo.inf.scene, buf );
+ NULL, &world->rb_geo.inf.scene, buf,
+ k_material_flag_ghosts );
for( int j=0; j<l; j++ ){
buf[j].rba = &particle->obj.rb;
for( int j=0; j<l; j++ ){
buf[j].rba = &particle->obj.rb;
@@
-1245,7
+1248,8
@@
VG_STATIC void render_world_routes( world_instance *world, camera *cam,
colour[3] = 1.0f-text->route->factive;
shader_model_font_uColour( colour );
colour[3] = 1.0f-text->route->factive;
shader_model_font_uColour( colour );
- font3d_simple_draw( &gui.font, 0, text->text, cam, text->transform );
+ font3d_simple_draw( &gui.font, 0, k_font_shader_default,
+ text->text, cam, text->transform );
}
shader_model_font_uOffset( (v4f){0.0f,0.0f,0.0f,1.0f} );
}
shader_model_font_uOffset( (v4f){0.0f,0.0f,0.0f,1.0f} );