479 Commits

Author SHA1 Message Date
f483f2905b Break texture module into multiple files. 2018-10-11 20:00:44 -07:00
66d599b50d Fix all clippy warnings or block them. 2018-10-11 19:53:07 -07:00
fa7d79b112 Show parameters for thumbnail as table. 2018-10-11 19:01:48 -07:00
67ba66bdf7 Dynamic render images when visiting webpage at /. 2018-10-09 20:01:43 -07:00
639c50a3de More noise debugging.
Added another reference implementation in lode.rs.
Build CLI to generate noise with various parameters.
2018-10-07 07:43:42 -07:00
2d6accbc58 Misc cleanup.
Correct aperture on final scene.
Change default to perlin_debug for further investigation.
Correct progress output in render.
2018-10-06 08:45:50 -07:00
d40cb0418f Make intermediate image saving a flag, print progress. 2018-10-06 07:52:07 -07:00
bf633756f6 Add scene representing the final image in raytracingthenextweek. 2018-10-06 07:26:49 -07:00
7898e7022c Add perlin debugging. Still not right. 2018-10-05 21:10:40 -07:00
aeaf4994fe Implement isotropic scattering for ConstantMedium volumes. 2018-10-05 18:16:42 -07:00
6a1e8b2784 Add ConstantMedium and cornell_smoke scene.
Shows the ability to compute smoke as a wrapper for anything implementing Hit.
2018-10-04 21:43:05 -07:00
36b2fba5b7 De-boxed many uses of Hit and Material.
Use of generic parameter directly where possible in structures instead
of Box'd values.
Added Material implementations for Box<Material> and Arc<Material> to
aid in the automatic conversion when necessary to use a Sized value for
Material.
Implement From trait for [f32;3] to Vec3 to make some APIs Into<Vec3>
which is a bit nicer to use.
2018-10-03 20:53:37 -07:00
7684bb2088 Add translated and rotated cuboids to cornell box scene.
Chose name 'cuboid' because 'box' is a module imported by the prelude in
rust and makes things complicated.
2018-09-25 21:00:05 -07:00
f1fcbe7449 Add empty cornell box with light and flipped normals. 2018-09-23 22:00:52 -07:00
73002df31e Make world in test scene larger and flatter. 2018-09-23 21:32:40 -07:00
3839ff316d Add XZ and YZ rects to complement XY. 2018-09-23 21:29:50 -07:00
2f0ee09084 Fix out of bounds texture lookup and tweak noise function. 2018-09-23 21:29:14 -07:00
9c5233e057 Implement DiffuseLight material.
Allow Scenes to define global_illumination so scenes without lighting
can continue to work.
2018-09-23 18:30:24 -07:00
34ce373269 Implement image based textures. 2018-09-23 15:53:46 -07:00
415cb7be9a Perlin noise with dot product. 2018-09-23 09:51:46 -07:00
697d056a9d Basic Perlin texture implementation. 2018-09-23 09:33:01 -07:00
4206ad7289 Use CheckerTexture for ground in book scene. 2018-09-22 20:32:21 -07:00
96d49e685f Add CheckerTexture. 2018-09-22 20:23:46 -07:00
a1d3cce4e4 Add ConstantTexture and use it for Lambertian material. 2018-09-22 19:53:27 -07:00
e1c430b9b2 Clippy lint. 2018-09-22 12:25:22 -07:00
fecd7b6a00 Remove dead code. 2018-09-22 12:09:05 -07:00
08ea5ca089 Lint. 2018-09-22 12:08:26 -07:00
0ff10e99dd Help string for --pprof. 2018-09-22 12:08:12 -07:00
a5b5ccb291 Make it easy for bench scene to compare hitlist vs accelerated rendering. 2018-09-22 12:07:35 -07:00
02639e4d3f Make BVH faster by doing hit test on bbox before descending. 2018-09-22 12:06:29 -07:00
fedcd3792b Missed part of commit 78da1c644141e87bb47ae907ef9d80fb926c1965 2018-09-22 12:06:08 -07:00
5723b285f0 Note to self about time-bomb. 2018-09-22 12:05:24 -07:00
78da1c6441 List choices for --mode and make --pprof a path, not just a bool. 2018-09-22 12:05:08 -07:00
2104f1a76c Implement kd-tree.
Add simple test scene.
Failed attempt to make BVH faster.
Failed attempt to implement SAH w/ BVH.
Failed attempt to make AABB::hit faster.
2018-09-22 11:11:40 -07:00
54f1304695 Add benchmark scene and change default flags to run under cargo-profile. 2018-09-18 20:58:31 -07:00
57ccefbcdc Move scene building to its own set of submodules. 2018-09-18 18:57:20 -07:00
aa26c79f6d Add some faster AABB hit implementations.
Switch e?println to info/trace logging.
2018-09-18 17:48:27 -07:00
4a9754dfdb bvh: add some tests and fmt::Display implementations. 2018-09-16 20:03:42 -07:00
11a7cc6f08 Implement AABB and BVH. 2018-09-16 18:59:27 -07:00
a4556212ed Rebase with master. 2018-09-14 13:06:09 -07:00
ca4a385438 Stub cube impl. 2018-09-14 13:03:26 -07:00
896ae20196 Add motion blur and MovingSphere type to exercise it.
Also changes Ray implementation to use public struct members instead of
accessor functions.
2018-09-14 12:06:29 -07:00
919fa5f8d5 Add --model flag to select model to render. 2018-09-13 21:35:39 -07:00
802b4f69a8 Parallelize across subsample frames and dump intermediates. 2018-09-13 20:36:47 -07:00
9bd29660ff Move Opt from library to CLI. 2018-09-12 20:11:11 -07:00
23058d1268 Move tracing logic to renderer module and add CLI flags. 2018-09-12 16:15:10 -07:00
c4e958975c Initial clumsy parallel renderer. 2018-09-12 15:24:52 -07:00
672dc3cdd2 Save .png output directly from rust. 2018-09-11 09:46:50 -07:00
0c9edd9e61 Fullres book cover and add timing.
Squelch clippy warning in camera.rs.
2018-09-11 09:08:32 -07:00
823e75da88 Add boolean for drawing book cover. 2018-09-10 21:50:40 -07:00