d8a33c7bfa
Added a blue noise mask generator as a sub-crate.
2017-05-13 03:23:55 -07:00
88578b9eae
Moved Float4 and Matrix and Vector math into their own sub-crates.
2017-05-12 21:01:54 -07:00
04e8a6ca73
Added a Rust port of Leonhard Grünschloß's Sobol sampler.
...
The Halton sampler appears to be better, but it was fun to add
this anyway!
2017-05-11 23:56:12 -07:00
b698a52f6c
Split some more things out into sub-crates.
...
Also translated the Halton generator to rust and made it a crate
where the code is generated by a build.rs file.
2017-05-11 22:57:59 -07:00
f8d47dc24a
Fixed some things for building with SIMD support.
2017-04-13 23:28:26 -07:00
f5ba119562
Switched to clap for command line argument parsing.
2017-04-11 10:15:32 -07:00
d9564bc005
Refactor and rework of BVH.
...
The BVH building code is now largely split out into a separate
type, BVHBase. The intent is that this will also be used by
the BVH4 when I get around to it.
The BVH itself now uses references instead of indexes, allocating
and pointing directly into the MemArena. This allows the nodes
to all be right next to their bounding boxes in memory.
2017-04-10 23:41:38 -07:00
6f043b575a
Implemented a basic memory arena in a sub-crate.
2017-04-09 15:53:06 -07:00
3842a8a9a6
Updated crate dependencies.
2017-03-07 08:26:38 -08:00
bb4e57795f
Added support for OpenEXR output.
2016-10-09 20:34:58 -07:00
fbeadfce29
Use quick select for balanced BVH building.
...
This gets rid of a crate dependency, and also is faster.
2016-08-14 00:51:21 -07:00
c6f6266a38
Added timer output so you can see how long things take.
2016-07-31 12:05:28 -07:00
2b05f65024
Updated dependencies.
2016-07-30 20:23:20 -07:00
e4c94d0c58
Optional use of SIMD intrinsics, via feature in cargo.
...
This is disabled by default right now, because it only builds on
nightly.
2016-07-16 19:58:39 -07:00
35ef58b09c
Special case BVH building when we get too close to max depth.
...
This avoids exceeding max BVH depth even in pathological cases.
Still need improve non-worst case building, but this at least
prevents crashes in worst case.
2016-07-16 00:05:23 -07:00
5b461220a5
PsychoBlend now exports meshes as meshes, and Psychopath renders to PNGs.
2016-07-10 17:42:28 -07:00
5ec1f534cf
Implemented bucketed rendering.
2016-06-05 01:27:55 -07:00
a681ba461e
Implemented basic multi-threaded rendering.
...
It's a bit inefficient because a thread is spawned for each pixel.
Need to implement bucketing.
2016-06-03 21:03:04 -07:00
a467a2a959
Updated Cargo.lock dependencies.
2016-06-02 22:30:10 -07:00
38d33ed144
More work on scene parsing.
...
Using Nom to help with parsing the contents of leaf nodes.
2016-03-10 23:58:19 -08:00
3f614f3728
Added command line parsing and PPM image writing.
...
Also the beginnings of a Ray struct.
2015-12-27 00:13:35 -08:00
aa6b72493b
First commit.
...
WIP basic 3d math code.
2015-12-26 00:38:29 -08:00