DIsable antialiasing if running with just one sample per pixel
This commit is contained in:
parent
e09b0a9e1d
commit
de559b02d7
1 changed files with 12 additions and 5 deletions
17
src/main.rs
17
src/main.rs
|
@ -264,13 +264,13 @@ fn main() {
|
||||||
|
|
||||||
// Image
|
// Image
|
||||||
let aspect_ratio = 16.0 / 9.0;
|
let aspect_ratio = 16.0 / 9.0;
|
||||||
let image_width = 600;
|
let image_width = 1000;
|
||||||
let image_height = (image_width as f64 / aspect_ratio) as u32;
|
let image_height = (image_width as f64 / aspect_ratio) as u32;
|
||||||
let samples_per_pixel = 50_u32;
|
let samples_per_pixel = 1_u32;
|
||||||
let max_depth = 50;
|
let max_depth = 50;
|
||||||
|
|
||||||
let vfov = 50.0;
|
let vfov = 50.0;
|
||||||
let lookfrom = Point3::new(30.0, 20.0, 30.0);
|
let lookfrom = Point3::new(-30.0, 20.0, -30.0);
|
||||||
let lookat = Point3::new(0.0, 15.0, 0.0);
|
let lookat = Point3::new(0.0, 15.0, 0.0);
|
||||||
let vup = Vec3::new(0.0, 1.0, 0.0);
|
let vup = Vec3::new(0.0, 1.0, 0.0);
|
||||||
let dist_to_focus = 40.0;
|
let dist_to_focus = 40.0;
|
||||||
|
@ -317,8 +317,15 @@ fn main() {
|
||||||
|
|
||||||
let mut colors = Vec::new();
|
let mut colors = Vec::new();
|
||||||
for i in 0..image_width {
|
for i in 0..image_width {
|
||||||
let mut pixel_color = Color::new(0.0, 0.0, 0.0);
|
let mut pixel_color = ray_color(
|
||||||
for _ in 0..samples_per_pixel {
|
&cam.get_ray(
|
||||||
|
i as f64 / (image_width - 1) as f64,
|
||||||
|
j as f64 / (image_height - 1) as f64,
|
||||||
|
),
|
||||||
|
&world,
|
||||||
|
max_depth,
|
||||||
|
); // first ray not antialiased to disable antialiasing on value 1
|
||||||
|
for _ in 1..samples_per_pixel {
|
||||||
let u = (i as f64 + utility::random_f64()) / (image_width - 1) as f64;
|
let u = (i as f64 + utility::random_f64()) / (image_width - 1) as f64;
|
||||||
let v = (j as f64 + utility::random_f64()) / (image_height - 1) as f64;
|
let v = (j as f64 + utility::random_f64()) / (image_height - 1) as f64;
|
||||||
let r = cam.get_ray(u, v);
|
let r = cam.get_ray(u, v);
|
||||||
|
|
Loading…
Reference in a new issue