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 );
}
mdl_submesh *sm = mdl_arritm( &world->meta.submeshs,
vehc->submesh_start+j );
world_unpack_submesh_dynamic( world, &world->scene_no_collide, sm );
+ world->surfaces[ sm->material_id ].flags |= WORLD_SURFACE_HAS_TRAFFIC;
}
}
for( u32 j=0; j<prop->submesh_count; j ++ ){
mdl_submesh *sm = mdl_arritm( &world->meta.submeshs,
prop->submesh_start+j );
+ world->surfaces[ sm->material_id ].flags |= WORLD_SURFACE_HAS_PROPS;
world_unpack_submesh_dynamic( world, &world->scene_no_collide, sm );
}
}
world->texture_count = world->meta.textures.count+1;
world->textures = vg_linear_alloc( world->heap,
vg_align8(sizeof(GLuint)*world->texture_count) );
-
- vg_tex2d_replace_with_error( &world->textures[0] );
+ world->textures[0] = vg.tex_missing;
for( u32 i=0; i<mdl_arrcount(&world->meta.textures); i++ ){
mdl_texture *tex = mdl_arritm( &world->meta.textures, i );
memset( errmat, 0, sizeof(struct world_surface) );
for( u32 i=0; i<mdl_arrcount(&world->meta.materials); i++ ){
- world->surfaces[i+1].info =
- *(mdl_material *)mdl_arritm( &world->meta.materials, i );
+ struct world_surface *surf = &world->surfaces[i+1];
+ surf->info = *(mdl_material *)mdl_arritm( &world->meta.materials, i );
+ surf->flags = 0;
}
}