image {
	width 512
	height 512
	samples 1
}

camera {
	position 0.0 5.0 2.0
	center 0.0 0.0 0.0
	up 0.0 0.0 1.0
}

light "light1" {
	color 1.0 1.0 1.0
	object:point {
		position 4 4 4
	}
}

material "material_plane" {
	action:shadow "light1" 1
	ambient 0.0 0.0 0.0
	diffuse 0.05 0.05 1.0
	specular 0.2 0.3 1.0
	shininess 3
}
material "material_sphere1" {
	action:shadow "light1" 1
	ambient 0.0 0.0 0.0
	diffuse 1.0 0.05 0.05
	specular 1.0 0.9 0.9
	shininess 10
}
material "material_sphere2" {
	action:shadow "light1" 1
	ambient 0.0 0.0 0.0
	diffuse 0.05 1.0 0.05
	specular 0.9 1.0 0.9
	shininess 30
}
material "material_triangle" {
	action:shadow "light1" 1
	ambient 0.0 0.0 0.0
	diffuse 1.0 1.0 0.05
	specular 1.0 1.0 0.9
	shininess 100
}

scene {
	background 64 64 64

	object:plane {
		use "material_plane"
		position 0.0 0.0 0.0
		normal 0.0 0.0 1.0
	}
	object:sphere {
		use "material_sphere1"
		position 0 0 1
		radius 1
	}
	object:sphere {
		use "material_sphere2"
		position 2 2 0.2
		radius 1
	}
	object:triangle {
		use "material_triangle"
		position2 -1.00 -1.00 0.02
		position   2.00 -2.00 0.02
		position3 -1.50 -1.50 1.50
	}
}

//TODO: per-light ambient, diffuse, specular, etc.?
//TODO: material inheritance?
//TODO: determine sample kind
//TODO: "1//sdf" should not be an error
//TODO: are spaces in name strings errors?  Shouldn't be.
//TODO: proper UV mapping for basic primitives

//Notes:
//"0.0/**/0.0" will be treated as "0.0 0.0".
//For colors, if the first number is an int, the numbers will be treated as 0-255
//Else, 0.0-1.0
//Don't prefix your material names with "__", because the .obj loader uses these internally.












