eoc8: add third light for effect

This commit is contained in:
Bill Thiede 2021-07-18 21:15:38 -07:00
parent 1629b2cbfa
commit 3799f93393

View File

@ -33,12 +33,16 @@ fn main() -> Result<()> {
let opt = Opt::from_args();
let width = 2560;
let height = 1440;
let light_position = Tuple::point(-10., 10., -10.);
let light_color = WHITE;
let light1 = PointLight::new(light_position, light_color);
let light_position = Tuple::point(10., 10., -10.);
let light_color = Color::new(0.0, 0.0, 1.0);
let light_color = Color::new(0.2, 0.2, 0.2);
let light2 = PointLight::new(light_position, light_color);
let light_position = Tuple::point(0., 10., -10.);
let light3 = PointLight::new(light_position, light_color);
let mut camera = Camera::new(width, height, PI / 4.);
let from = Tuple::point(0., 1.5, -5.);
let to = Tuple::point(0., 1., 0.);
@ -87,7 +91,7 @@ fn main() -> Result<()> {
right.material = Material {
color: Color::new(1., 1., 1.),
diffuse: 0.7,
specular: 0.3,
specular: 0.0,
..Material::default()
};
@ -103,7 +107,7 @@ fn main() -> Result<()> {
};
let mut world = World::default();
world.lights = vec![light1, light2];
world.lights = vec![light1, light2, light3];
world.objects = vec![floor, left_wall, right_wall, middle, right, left];
let image = camera.render(&world);