- vg_function_push( (struct vg_cmd){
- .name = "reset",
- .function = reset_player
- });
-
- v3f lightDir = { 0.1f, 0.8f, 0.2f };
- v3_normalize( lightDir );
-
- scene_init( &world_scene );
- scene_init( &test_scene );
- scene_init( &player_scene );
- model *world = vg_asset_read( "models/free_dev.mdl" );
- model *test = vg_asset_read( "models/test.mdl" );
- model *char_dev = vg_asset_read( "models/char_dev.mdl" );
- scene_add_model( &player_scene, char_dev,
- submodel_get( char_dev, "joint" ),
- (v3f){0.0f,0.0f,0.0f}, 0.0f, 1.0f );
- free(char_dev);
-
- scene_add_model( &world_scene, world,
- submodel_get( world, "terrain" ),
- (v3f){0.0f,0.0f,0.0f}, 0.0f, 1.0f );
-
- int id_tree = submodel_get( test, "tree" ),
- id_groundcover[] =
- {
- submodel_get( test, "bush" ),
- submodel_get( test, "grass" ),
- submodel_get( test, "blubber" ),
- submodel_get( test, "blubber" ),
- submodel_get( test, "blubber" ),
- submodel_get( test, "grassthin" )
- };
-
- /* Sprinkle some trees in the terrain areas */
- v3f range;
- v3_sub( world_scene.bbx[1], world_scene.bbx[0], range );
-
- for( int i=0; i<8000; i++ )
- {
- v3f pos;
-
- pos[0] = vg_randf();
- pos[1] = 0.0f;
- pos[2] = vg_randf();
- v3_muladd( world_scene.bbx[0], pos, range, pos );
-
- if( sample_scene_height( &world_scene, pos ) )
- {
- scene_add_model( &test_scene, test,
- id_tree,
- pos, vg_randf() * VG_TAUf, vg_randf() * 0.5f + 0.5f );
- }
- }