eoc8: add third light for effect
This commit is contained in:
parent
1629b2cbfa
commit
3799f93393
@ -33,12 +33,16 @@ fn main() -> Result<()> {
|
|||||||
let opt = Opt::from_args();
|
let opt = Opt::from_args();
|
||||||
let width = 2560;
|
let width = 2560;
|
||||||
let height = 1440;
|
let height = 1440;
|
||||||
|
|
||||||
let light_position = Tuple::point(-10., 10., -10.);
|
let light_position = Tuple::point(-10., 10., -10.);
|
||||||
let light_color = WHITE;
|
let light_color = WHITE;
|
||||||
let light1 = PointLight::new(light_position, light_color);
|
let light1 = PointLight::new(light_position, light_color);
|
||||||
let light_position = Tuple::point(10., 10., -10.);
|
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 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 mut camera = Camera::new(width, height, PI / 4.);
|
||||||
let from = Tuple::point(0., 1.5, -5.);
|
let from = Tuple::point(0., 1.5, -5.);
|
||||||
let to = Tuple::point(0., 1., 0.);
|
let to = Tuple::point(0., 1., 0.);
|
||||||
@ -87,7 +91,7 @@ fn main() -> Result<()> {
|
|||||||
right.material = Material {
|
right.material = Material {
|
||||||
color: Color::new(1., 1., 1.),
|
color: Color::new(1., 1., 1.),
|
||||||
diffuse: 0.7,
|
diffuse: 0.7,
|
||||||
specular: 0.3,
|
specular: 0.0,
|
||||||
..Material::default()
|
..Material::default()
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -103,7 +107,7 @@ fn main() -> Result<()> {
|
|||||||
};
|
};
|
||||||
|
|
||||||
let mut world = World::default();
|
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];
|
world.objects = vec![floor, left_wall, right_wall, middle, right, left];
|
||||||
|
|
||||||
let image = camera.render(&world);
|
let image = camera.render(&world);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user