|
3884 | 3884 | ... |
3885 | 3885 |
|
3886 | 3886 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C++ highlight |
3887 | | - void final_scene(bool high_quality) { |
| 3887 | + void final_scene(int image_width, int samples_per_pixel, int max_depth) { |
3888 | 3888 | hittable_list boxes1; |
3889 | 3889 | auto ground = make_shared<lambertian>(color(0.48, 0.83, 0.53)); |
3890 | 3890 |
|
|
3947 | 3947 |
|
3948 | 3948 | camera cam; |
3949 | 3949 |
|
3950 | | - cam.aspect_ratio = 1.0; |
3951 | | - cam.background = color(0,0,0); |
| 3950 | + cam.aspect_ratio = 1.0; |
| 3951 | + cam.image_width = image_width; |
| 3952 | + cam.samples_per_pixel = samples_per_pixel; |
| 3953 | + cam.max_depth = max_depth; |
| 3954 | + cam.background = color(0,0,0); |
3952 | 3955 |
|
3953 | 3956 | cam.lookfrom = point3(478, 278, -600); |
3954 | 3957 | cam.lookat = point3(278, 278, 0); |
|
3957 | 3960 |
|
3958 | 3961 | cam.aperture = 0; |
3959 | 3962 |
|
3960 | | - if (high_quality) { |
3961 | | - cam.image_width = 800; |
3962 | | - cam.samples_per_pixel = 10000; |
3963 | | - cam.max_depth = 50; |
3964 | | - } else { |
3965 | | - cam.image_width = 400; |
3966 | | - cam.samples_per_pixel = 250; |
3967 | | - cam.max_depth = 4; |
3968 | | - } |
3969 | | - |
3970 | 3963 | cam.render(world); |
3971 | 3964 | } |
3972 | 3965 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C++ |
|
3975 | 3968 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C++ highlight |
3976 | 3969 | switch (0) { |
3977 | 3970 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C++ |
3978 | | - case 1: random_spheres(); break; |
3979 | | - case 2: two_spheres(); break; |
3980 | | - case 3: earth(); break; |
3981 | | - case 4: two_perlin_spheres(); break; |
3982 | | - case 5: quads(); break; |
3983 | | - case 6: simple_light(); break; |
3984 | | - case 7: cornell_box(); break; |
3985 | | - case 8: cornell_smoke(); break; |
3986 | | - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C++ highlight |
3987 | | - case 9: final_scene(true); break; |
3988 | | - default: final_scene(false); break; |
| 3971 | + case 1: random_spheres(); break; |
| 3972 | + case 2: two_spheres(); break; |
| 3973 | + case 3: earth(); break; |
| 3974 | + case 4: two_perlin_spheres(); break; |
| 3975 | + case 5: quads(); break; |
| 3976 | + case 6: simple_light(); break; |
| 3977 | + case 7: cornell_box(); break; |
| 3978 | + case 8: cornell_smoke(); break; |
| 3979 | + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C++ highlight |
| 3980 | + case 9: final_scene(800, 10000, 40); break; |
| 3981 | + default: final_scene(400, 250, 4); break; |
3989 | 3982 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C++ |
3990 | 3983 | } |
3991 | 3984 | } |
|
0 commit comments