Research branch: https://advancedresearch.github.io
Discord (Piston): https://discord.gg/TkDnS9x
Discord (AdvancedResearch): https://discord.gg/JkrhJJRBR2
Compression: 21.360625982284546 sec (79.224%)
Avg per tile: 0.008900260825951894 sec
Compression: 1.4767029285430908 sec (21.383%)
Avg per tile: 0.0006152928868929545 sec
Compression: 21.360625982284546 sec (79.224%)
Avg per tile: 0.008900260825951894 sec
Compression: 1.4767029285430908 sec (21.383%)
Avg per tile: 0.0006152928868929545 sec
It took just a few seconds to run the Dyon script and render.
File size? 469 KB (95 KB compressed).
Memory usage? 56.4 MB.
Turbine-Process3D is amazing. ON THE CPU!
It took just a few seconds to run the Dyon script and render.
File size? 469 KB (95 KB compressed).
Memory usage? 56.4 MB.
Turbine-Process3D is amazing. ON THE CPU!
However,be aware that fog-to-fog (two different semi-transparent colors) produces some noise:
However,be aware that fog-to-fog (two different semi-transparent colors) produces some noise:
This is the FogState code:
This is the FogState code:
I figured out that `RayHit` is too limited when you want to render semi-transparent objects. `RayHitAll` uses a new `IndexFlag` structure that wraps `usize` and `bool` into `i64`.
I figured out that `RayHit` is too limited when you want to render semi-transparent objects. `RayHitAll` uses a new `IndexFlag` structure that wraps `usize` and `bool` into `i64`.
I use an finite accumulator that sorts colors by depth and calculates the final color. Here, it can only render 64 layers.
I use an finite accumulator that sorts colors by depth and calculates the final color. Here, it can only render 64 layers.
I use a simple trait `IntoCubes` to reuse code. Taking advantage of 1-to-1 correspondence between Aabb and Cube.
Finally, I added a `TransformProducer` to transform Aabbs properly.
I use a simple trait `IntoCubes` to reuse code. Taking advantage of 1-to-1 correspondence between Aabb and Cube.
Finally, I added a `TransformProducer` to transform Aabbs properly.
The code is a bit complex, because there is an even and odd case.
The code is a bit complex, because there is an even and odd case.
Notice that I need to add a `Sync` requirement, because it uses Rayon for multi-threading.
Notice that I need to add a `Sync` requirement, because it uses Rayon for multi-threading.
So, I add the following impl:
So, I add the following impl:
Next, make triangle_chunk work with any Producer:
Next, make triangle_chunk work with any Producer:
So, I'll add a function to calculate initial mask and implement the trait for `&[T]`:
So, I'll add a function to calculate initial mask and implement the trait for `&[T]`: