/////////////////////////////////////////
// Second version of the scene file format
// 
// - It allows you to add comments like this one
// - Syntax itself is hopefully self explanatory
// - Name of the objects and attributes are defined inside the executable

///////////////////////////////////////
//    Global scene and viewpoint     //
/////////////////////////////////////// 

Scene 
{
  // make sure the version and the executable match !
  Version.Major = 1;
  Version.Minor = 3;
  // output image dimension
  Image.Width = 640;
  Image.Height = 480;   
  Perspective.Type = conic;

  // field of view on horizontal axis (from extrem right to extrem left)
  // in degrees
  Perspective.FOV = 90.0f;
  // Distance of the plane where objects are "in focus"
  Perspective.ClearPoint = 450.0f;
  // Amount of blur that is added to objects not in focus
  Perspective.Dispersion = 10.0f;

  // this user value determines if the image is low key or high key
  // used to compute exposure value
  Tonemap.Midpoint = 0.7f;
  // This enhances contrast if the black level is more than zero and has no effect otherwise
  Tonemap.Power = 3.0f;
  // Affects flatness of the response curve in the black levels
  Tonemap.Black = 0.1f;
  
  // Count the objects in the scene
  NumberOfMaterials = 4;
  NumberOfSpheres = 3;
  NumberOfBlobs = 1;
  NumberOfLights = 2; 
  
  Complexity = 2;
  
  Cubemap.Up = data/textures/alpup.tga;
  Cubemap.Down = data/textures/alpdown.tga;
  Cubemap.Right = data/textures/alpright.tga;
  Cubemap.Left = data/textures/alpleft.tga;
  Cubemap.Forward = data/textures/alpforward.tga;
  Cubemap.Backward = data/textures/alpback.tga;
  Cubemap.Exposed = true;
  Cubemap.sRGB = true;
  
}

///////////////////////////////////////
//         List of materials         //
/////////////////////////////////////// 
Material0
{
  Type = turbulence;
  
  Diffuse = 0.35, 0.25, 0.01;
  
  Diffuse2 = 0.5, 0.5, 0.01;   
  
  Density = 1.0;
  Reflection = 0.0; 
  Refraction = 0.0;
  
  Specular = 0.0, 0.0, 0.0;  
  
  Power = 60;
}

Material1
{
  Type = gouraud;

  Diffuse = 0.0, 0.0, 0.0;    
  
  Bumplevel = 0.1;
  Density = 0.0;
  Reflection = 1.0;  
  Refraction = 0.0;
  
  Specular = 1.2, 1.2, 1.2;  
  Power = 60;
}
Material2
{
  Type = marble;
  
  Diffuse = 0.5, 0.5, 0.5;    
  
  Diffuse2 = 0.15, 0.01, 0.15;    
  
  Density = 1.0;
  Reflection = 0.01;  
  Refraction = 0.0;
  Specular = 1.2, 1.2, 1.2;  
  Power = 60; 
}

Material3
{
  Type = gouraud;

  Diffuse = 0.0, 0.0, 0.0;    
  
  Bumplevel = 0.1;
  Density = 2.0;
  Reflection = 0.9;  
  Refraction = 0.9;  
  
  Specular = 1.2, 1.2, 1.2;  
  Power = 60;
}

///////////////////////////////////////
//         List of spheres           //
/////////////////////////////////////// 
Sphere0
{
  Center = 400.0, 290.0, 320.0;
  Size = 50.0;
  Material.Id = 0;
}
Sphere1
{
  Center = 600.0, 290.0, 480.0;
  Size = 100.0;
  Material.Id = 1;
}
Sphere2
{
  Center = 450.0, 140.0, 400.0;
  Size = 50.0;
  Material.Id = 2;
}

///////////////////////////////////////
//         List of blobs           //
/////////////////////////////////////// 
Blob0
{
  Center0 = 160.0, 290.0, 320.0;
  Center1 = 400.0, 290.0, 480.0; 
  Center2 = 250.0, 140.0, 400.0; 
  Size = 80.0;
  Material.Id = 3;
}

///////////////////////////////////////
//         List of lights            //
/////////////////////////////////////// 
Light0
{
  Position = 0.0, 240.0, 300.0;
  Intensity = 5.0, 5.0, 5.0 ;
}
Light1
{
  Position = 640.0, 480.0, -100.0;
  Intensity = 0.6, 0.7, 1.0;
}

