LuxCoreRender / LuxCore

LuxCore source repository
Apache License 2.0
1.15k stars 144 forks source link

User defined and driven importance sampling [$50 awarded] #256

Closed Dade916 closed 4 years ago

Dade916 commented 4 years ago

I implemented, in old LuxRender, user defined importance and driven sampling. It was possible for the user to draw, over the current rendering, with a circular smooth pen in order to define the regions where the sampler should render more of the samples. This feature was combine with noise-aware sampler too. Check the best policy to mix noise map and user importance map.

Replicate the same feature in new LuxCore API.

Film related properties should be extended with a new property to define the user defined importance map. The map is just a gray image where black means very low importance and white means very high importance (with all the shade of gray in between). The map must have the same size of the Film. It should be possible to pass the image as a file or as binary blob (in order to not have a temporary file on disk). The binary blob will by just an array of float values between 0.0 and 1.0.

LuxCore API RenderSession::Parse() method can be used to parse the new properties while the rendering is ongoing.

--- The **[$50 bounty](https://www.bountysource.com/issues/83159389-user-defined-and-driven-importance-sampling?utm_campaign=plugin&utm_content=tracker%2F79505306&utm_medium=issues&utm_source=github)** on this issue has been claimed at [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F79505306&utm_medium=issues&utm_source=github).
Dade916 commented 4 years ago

I have implemented the feature and the details are discussed here: https://forums.luxcorerender.org/viewtopic.php?f=5&t=1547