2bb45a9876
Add streaming data tree parser sub-crate.
...
Not used yet.
2022-08-04 13:50:13 -07:00
e1c983a7e6
Added benchmarks to rrand sub-crate.
...
Also misc naming cleanup.
2022-08-04 11:52:49 -07:00
a12de4c3d7
Wrap sampling logic/tracking in a struct.
2022-08-04 11:11:25 -07:00
1f7c412e25
Benchmarks and precision tests for RMath sub-crate.
2022-08-03 17:10:27 -07:00
608fe8bda1
Switch to colorbox and jakob upsampling for color handling.
2022-08-02 00:18:12 -07:00
8bc6b24004
Switch to CIE XYZ lookup tables.
2022-08-01 22:04:14 -07:00
e2044e6579
Implement simple screen-space blue-noise diffusion sampling.
...
From the paper "Screen-Space Blue-Noise Diffusion of Monte Carlo
Sampling Error via Hierarchical Ordering of Pixels" by Ahmed et al.
2022-07-16 19:35:23 -07:00
08e2e6eb06
Convert Psychopath over to use new RMath library.
2022-07-15 21:42:35 -07:00
a84da943d0
RMath: implement transform composition.
2022-07-15 17:51:57 -07:00
8a695a7694
Some shuffling of the math sub-crate's organization.
2022-07-14 12:31:32 -07:00
658e4746ca
Start work on new linear algebra library.
2022-07-13 18:54:44 -07:00
e6f9af9336
Update to latest glam.
2021-05-14 12:22:46 -07:00
89fc80b99b
Update to the latest version of sobol_burley.
2021-05-14 11:30:48 -07:00
63d661f8ce
Update sobol_burley dependency.
2021-05-11 20:17:51 -07:00
706902dc8e
Move sobol crate outside of Psychopath into its own repo.
2021-05-11 13:35:17 -07:00
b337e2cb20
Update dependencies. No functional change.
2021-05-08 12:21:04 -07:00
105d6e52b5
Add basic benchmark to Sobol sampler.
2021-01-10 00:20:22 +09:00
16e5f539ea
Update to latest openexr-rs.
2020-12-31 12:25:22 +09:00
3d85ce8005
Consolidate all of the compact value storage formats into one crate.
2020-12-30 20:41:56 +09:00
6586b38dc9
Use an external crate for fast approximate math functions.
2020-12-26 10:03:35 +09:00
022c913757
Split out memory arena into an external crate.
2019-12-27 10:43:03 +09:00
6e555456ba
Updated Nom to 5.x
...
This makes the code a lot simpler and cleaner, among other things.
2019-11-23 10:13:29 +09:00
88e7365bc4
Switched from in-tree float4 lib to glam.
2019-07-22 22:30:37 +09:00
2a0ca001e2
Optimized ray stack task duplication with memcopy.
2019-06-29 12:39:28 +09:00
50f09a6134
Removed full Jakob implementation and moved table loading to build time.
...
The "light" version of Jakob still remains, which uses a much smaller
table.
2019-06-21 21:45:13 +09:00
48e015996f
Initial implementation of Jakob 2019 spectral upsampling.
...
It has a slight color cast to it at the moment, I believe due to
incorrect color space conversions, not because of the upsampling
method itself. So Meng upsampling is still the active method
at the moment.
2019-06-09 19:51:43 +09:00
fdad8f71bb
Renamed spectral upsampling sub-crate.
2019-06-02 07:28:43 +09:00
0fc8c32566
Updated crate dependency versions.
2019-05-25 16:22:21 +09:00
b598ce499c
Updated dependencies.
2018-12-16 13:22:12 -08:00
ea75e3ed21
Added benchmarks for both Trifloat and Oct32 encoding/decoding.
2018-11-29 11:09:48 -08:00
a6cae26c34
Added property tests for Oct32 encoding/decoding.
...
Tests random vectors, and makes sure that encoding/decoding
round trip only introduces precision errors below a certain
threshold.
Pretty confident that the implementation is correct now.
2018-11-29 09:50:38 -08:00
8e15dba29d
Implementation of the Oct32 encoding of unit vectors.
...
The code still needs testing, but initial toying around suggests
that it's working correctly.
2018-11-28 23:41:12 -08:00
3fb22fdefa
Implemented a "tri-float" encoding, similar to RGBE.
...
This implementation trades less range for more precision, giving
9 bits to each mantissa instead of just 8 bits as in RGBE.
2018-11-23 20:01:15 -08:00
3f55df7225
Some basic SIMD optimizations for XYZ->Spectrum conversion.
2018-07-01 15:50:34 -07:00
27d1b2286b
Switch to stable SIMD intrinsics.
...
Rust 1.27 stablized a variety of cpu intrinsics, including SIMD
on x86/64 platforms. This commit moves to using those intrinsics
for the optimized Float4 implementation. This means Psychopath
now compiles on stable Rust with all optimizations. Yay!
2018-06-24 15:32:09 -07:00
d92ae4b2d7
Updated to latest openexr-rs release.
2018-06-15 14:52:51 -07:00
b2576c20e7
Upgraded to Nom 2.x
2018-03-04 22:06:20 -08:00
b5bcf8965b
Updated to latest crates.
...
Except for Nom, which has jumped several major versions.
2018-03-04 13:49:41 -08:00
bbf832a3d8
Fixed compile error in float4 lib, and updated to latest simd crate.
2018-03-04 13:32:31 -08:00
97d3304149
Run new rustfmt on codebase.
2018-03-04 13:00:55 -08:00
a4a73713d2
Created crate for BVH node traversal order calculations.
...
Might move this into the main source base at some point, but
I'm not totally sure about the correctness of the table yet, so
would like to generate it for now.
2017-07-01 12:44:19 -07:00
b8321beaad
Split colorspace transform functions out into their own crate.
...
They are now generated by a build.rs script from nothing but the
colorspace's primaries, which makes it super easy to add more
colorspaces. So easy that I added three more: ACES AP0, ACES AP1
and Rec.2020.
This lays the foundation for supporting output to different
colorspaces.
2017-06-11 03:03:23 -07:00
f84d093f66
PsychoBlend now updates render in realtime within Blender.
...
Also, cancelling renders is much more responsive now, especially
during long exports.
2017-06-03 00:00:19 -07:00
3beffab507
Update to latest openexr-rs, and switch to pure Rust PNG output crate.
2017-05-28 17:51:01 -07:00
f0604a69ae
Updated to latest openexr crate, and switched to 16-bit float EXR's.
2017-05-20 23:48:01 -07:00
4e2d3e64c0
Switched to using the openexr crate on crates.io.
2017-05-17 00:36:35 -07:00
567b658b6c
Removed blue noise dithered sampling.
2017-05-14 12:37:01 -07:00
d71fd3b5c8
Implemented blue noise dithered sampling. Temporary.
...
After implementation, it does appear to make rendering slower
by a noticable bit compared to what I was doing before. At very
low sampling rates it does provide a bit of visual improvement,
but by the time you get to even just 16 samples per pixel its
benefits seem to disappear.
Due to the slow down and the minimal gains, I'll be removing
this in the next commit. But I want to commit it so I don't
lose the code, since it was an interesting experiment with
some promising results.
2017-05-14 12:25:01 -07:00
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