12 Commits

Author SHA1 Message Date
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
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
aa26c79f6d Add some faster AABB hit implementations.
Switch e?println to info/trace logging.
2018-09-18 17:48:27 -07:00
196a4b76bc Implement positional camera.
Bug fix for cross()
2018-09-09 21:27:34 -07:00
b342e00d4c Implement dielectrics (glassy) materials.
Add Neg to Vec3.
2018-09-09 20:23:28 -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
73ca5c8454 Implement diffuse lighting, and gamma correction. 2018-09-09 14:49:21 -07:00
20c79a655b Implement Vec3 + f32 2018-09-08 21:52:49 -07:00
cdd2d585a7 Clippy cleanup and module visibility cleanup. 2018-09-08 20:19:46 -07:00
e1199611f0 Visibility cleanups. 2018-09-08 19:58:12 -07:00
7f7b1d6d34 Implement Vec3 library. Lacks most inplace operators. 2018-09-08 19:42:31 -07:00