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