27 Commits

Author SHA1 Message Date
bcf6b6d5d0 Remove unnecessary crates.
All checks were successful
continuous-integration/drone/push Build is passing
2019-10-10 21:37:21 -07:00
cdbaa928c2 Basic prometheus support, with push_gateway integration. 2019-02-25 20:41:53 -08: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
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
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
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
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
697d056a9d Basic Perlin texture implementation. 2018-09-23 09:33:01 -07:00
a1d3cce4e4 Add ConstantTexture and use it for Lambertian material. 2018-09-22 19:53:27 -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
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
11a7cc6f08 Implement AABB and BVH. 2018-09-16 18:59:27 -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
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
7c213e3a2b Implement Lambertian and Metal materials.
Fixed bug with Vec3::unit_vector().
Had to remove old example programs because Sphere::new() API changed to
allow materials.
2018-09-09 17:01:52 -07:00
9698afce43 Implement sub-sampling anti-aliasing.
Move camera to code to separate module.
2018-09-09 13:37:35 -07:00
15fe1e632c Add more abstraction.
Implement Sphere as its own module.
Create HitableList that can hold multiple objects.
Fixed shading problem in the process.
2018-09-08 23:10:26 -07:00
b8861b7f8d Add simple ray module. 2018-09-08 19:58:24 -07:00
7f7b1d6d34 Implement Vec3 library. Lacks most inplace operators. 2018-09-08 19:42:31 -07:00
3dfd71282b simple_ppm writer. 2018-09-08 17:32:12 -07:00