示例#1
0
static int load_resources(void* unused) {
  
  load_folder("./resources/terrain/");
  load_folder("./resources/vegetation/");
  
  static_object* skydome = entity_new("skydome", static_object);
  skydome->renderable = asset_get("./resources/terrain/skydome.obj");
  renderable_set_material(skydome->renderable, asset_get("./resources/terrain/skydome.mat"));
  skydome->position = v3(512, 0, 512);
  skydome->scale = v3(1024, 1024, 1024);
  
  landscape* world = entity_new("world", landscape);
  world->terrain = asset_get("./resources/terrain/heightmap.raw");
  world->normalmap = asset_get("./resources/terrain/normalsmap.dds");
  world->colormap = asset_get("./resources/terrain/colormap.dds");
  world->attributemap = asset_get("./resources/terrain/attributemap.dds");

  landscape_set_surface(world, 0, asset_get("./resources/terrain/grass.dds"), 
                                  asset_get("./resources/terrain/grass_nm.dds"), 
                                  asset_get("./resources/terrain/grass_far.dds"), 
                                  asset_get("./resources/terrain/grass_far_nm.dds"));
  
  landscape_set_surface(world, 1, asset_get("./resources/terrain/grass2.dds"), 
                                  asset_get("./resources/terrain/grass2_nm.dds"), 
                                  asset_get("./resources/terrain/grass_far.dds"), 
                                  asset_get("./resources/terrain/grass_far_nm.dds"));
  
  landscape_set_surface(world, 2, asset_get("./resources/terrain/earth.dds"), 
                                  asset_get("./resources/terrain/earth_nm.dds"), 
                                  asset_get("./resources/terrain/earth_far.dds"), 
                                  asset_get("./resources/terrain/earth_far_nm.dds"));
  
  landscape_set_surface(world, 3, asset_get("./resources/terrain/rock.dds"), 
                                  asset_get("./resources/terrain/rock_nm.dds"), 
                                  asset_get("./resources/terrain/rock_far.dds"), 
                                  asset_get("./resources/terrain/rock_far_nm.dds"));
  
  vegetation_init();
  vegetation_add_type(asset_get("./resources/terrain/heightmap.raw"), 
                      asset_get("./resources/vegetation/grass.obj"), 
                      4.0);
  
  ui_button* loading = ui_elem_get("loading");
  ui_spinner* load_spinner = ui_elem_get("load_spinner");
  ui_button* framerate = ui_elem_get("framerate");
  ui_button* wireframe = ui_elem_get("wireframe");
  ui_button* freecam = ui_elem_get("freecam");
  loading->active = false;
  load_spinner->active = false;
  framerate->active = true;
  wireframe->active = true;
  freecam->active = true;
  
  loading_resources = false;
  return 1;
}
示例#2
0
static int load_resources(void* unused) {
  
  folder_load(P("./resources/terrain/"));
  folder_load(P("./resources/vegetation/"));
  
  static_object* skydome = entity_new("skydome", static_object);
  skydome->renderable = asset_hndl_new_load(P("./resources/terrain/skydome.obj"));
  ((renderable*)asset_hndl_ptr(skydome->renderable))->material = asset_hndl_new_load(P("$CORANGE/shaders/skydome.mat"));
  skydome->position = vec3_new(512, 0, 512);
  skydome->scale = vec3_new(1024, 1024, 1024);
  
  landscape* world = entity_new("world", landscape);
  world->terrain = asset_hndl_new_load(P("./resources/terrain/heightmap.raw"));
  world->normalmap = asset_hndl_new_load(P("./resources/terrain/normalsmap.dds"));
  world->colormap = asset_hndl_new_load(P("./resources/terrain/colormap.dds"));
  world->attributemap = asset_hndl_new_load(P("./resources/terrain/attributemap.dds"));

  landscape_set_textures(world, asset_hndl_new_load(P("./resources/terrain/surface.dds")), 
                                asset_hndl_new_load(P("./resources/terrain/surface_bump.dds")), 
                                asset_hndl_new_load(P("./resources/terrain/surface_far.dds")), 
                                asset_hndl_new_load(P("./resources/terrain/surface_far_bump.dds")));
  
  vegetation_init();
  //vegetation_add_type(asset_get("./resources/terrain/heightmap.raw"), 
  //                    asset_get("./resources/vegetation/grass.obj"), 
  //                    4.0);
  
  ui_button* loading = ui_elem_get("loading");
  ui_spinner* load_spinner = ui_elem_get("load_spinner");
  ui_button* framerate = ui_elem_get("framerate");
  ui_button* wireframe = ui_elem_get("wireframe");
  ui_button* freecam = ui_elem_get("freecam");
  loading->active = false;
  load_spinner->active = false;
  framerate->active = true;
  wireframe->active = true;
  freecam->active = true;
  
  loading_resources = false;
  return 1;
}