848e9879cb
rtiow: lockless non-global stats keeping.
2019-10-21 21:11:15 -07:00
27ca936264
rtiow: add core affinity to each render thread.
continuous-integration/drone/push Build is passing
2019-10-21 10:51:33 -07:00
af6cda7349
Print pixel/s and ray/s at end of render.
continuous-integration/drone/push Build is passing
2019-10-16 21:11:40 -07:00
5d9e180817
First version of adaptive subsampling.
...
continuous-integration/drone/push Build is passing
Add debugging images, and move rendering to output module.
2019-10-16 20:21:16 -07:00
90c4e15ad1
Cleaned up lint when building with prom or profile features.
2019-10-13 08:04:49 -07:00
92c8f1980c
Cleanup lint in renderer.
2019-10-13 07:51:16 -07:00
051482e7fe
Plumb --adaptive flag for adaptive subsampling.
2019-10-12 20:41:07 -07:00
7b5571344e
Add Default implementation for Scene.
...
continuous-integration/drone/push Build is failing
This makes it so adding new fields doesn't require changing all the
Scene's at once.
2019-10-12 20:27:57 -07:00
Bill Thiede
2b1112d39e
Print human friendly rays / second.
continuous-integration/drone/push Build is failing
2019-10-12 17:47:19 -07:00
Bill Thiede
7cc4dec3a6
Make prometheus monitoring optional and remove stdout logging.
continuous-integration/drone/push Build is passing
2019-10-12 17:18:39 -07:00
b51b94e0b6
Better progress output
continuous-integration/drone/push Build is passing
2019-10-12 16:22:26 -07:00
fa02334c78
Merge branch 'master' of https://git.z.xinu.tv/wathiede/raytracers
continuous-integration/drone/push Build is failing
2019-10-12 16:16:38 -07:00
ccffa690ba
Add pixel counting.
2019-10-12 16:16:26 -07:00
Bill Thiede
8f73d5a25a
Release lock while rendering.
continuous-integration/drone/push Build is passing
2019-10-12 15:46:35 -07:00
7f28a321e3
Use std lib primitives for cross thread messaging.
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.
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.
...
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.
...
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.
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