223 Commits

Author SHA1 Message Date
ea0532fd6e Finalize marble parameters for scene/final.
Add pixel_scale parameter to noise_explorer to allow scaling of p vector
passed to value function.
2018-10-15 12:42:22 -07:00
5faba9cf26 Moved lode/perlin code to noise module.
Changed how NoiseTexture is created to allow noise function and
parameters to be passed in as options.
Allowed setting of noise source from URL parameters.
2018-10-14 15:09:57 -07:00
accfd09ce4 Drop logging level for perlin start-up stats. 2018-10-14 10:53:12 -07:00
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