36 Commits

Author SHA1 Message Date
Bill Thiede
8f73d5a25a Release lock while rendering.
All checks were successful
continuous-integration/drone/push Build is passing
2019-10-12 15:46:35 -07:00
7f28a321e3 Use std lib primitives for cross thread messaging.
All checks were successful
continuous-integration/drone/push Build is passing
2019-10-12 15:22:43 -07:00
Bill Thiede
235a9d1204 Add flag to set number of threads.
All checks were successful
continuous-integration/drone/push Build is passing
2019-10-12 14:29:36 -07:00
Bill Thiede
1687077f4a Render whole lines at a time. 2019-10-11 11:14:52 -07:00
Bill Thiede
8b99a1f487 Make render req/response enums.
All checks were successful
continuous-integration/drone/push Build is passing
First step in some optimizations to limit overhead of locking between
threads.
2019-10-11 08:03:32 -07:00
9a45ba6d72 Async send the pixels to the workers, and bound queue to 2xthreads.
All checks were successful
continuous-integration/drone/push Build is passing
This should allow the program to start recieving rendered pixels before
all of the x,y's have been sent to the workers.  Reducing the time to
first pixel.
2019-10-10 21:20:48 -07:00
2a0460f2cb Version bump crossbeam-channel.
All checks were successful
continuous-integration/drone/push Build is passing
2019-10-10 21:08:56 -07:00
cdbaa928c2 Basic prometheus support, with push_gateway integration. 2019-02-25 20:41:53 -08:00
27c1534273 Add Mandelbrot texture and test scene. 2019-02-19 21:18:37 -08:00
c8f5bf9e19 cargo fix --edition and add edition="2018" to Cargo.toml. 2019-02-07 16:36:55 -08:00
23ac418dcb Remove vestigal option and extraneous use statements. 2019-02-05 19:55:31 -08:00
bf9e226899 Perform per-pixel parallelism instead of per frame.
This sets up the renderer to have other sampling algorithms.
Progress bar is now percentage based.
2019-02-03 21:21:06 -08:00
ce2d22b0b5 Add environment mapping for background. 2019-01-29 10:20:31 -08: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
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
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
e1c430b9b2 Clippy lint. 2018-09-22 12:25:22 -07:00
0ff10e99dd Help string for --pprof. 2018-09-22 12:08:12 -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
11a7cc6f08 Implement AABB and BVH. 2018-09-16 18:59:27 -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