Open nimrod-gileadi opened 4 months ago
Dithering doesn't use a random seed but it's based on elapsed time.
Thanks for the correction. Is there a way for a client to explicitly set the time used for dithering?
You cannot set the time but you can use Renderer::resetUserTime()
to control the start time. Probably won't be enough for what you want.
Is your feature request related to a problem? Please describe.
I'm using Filament for off-screen batch rendering. It would be useful for me to have deterministic results, where rendering the same view twice results in the same pixel. For the scene I'm using, I'm able to achieve this by disabling dithering, but it would be nice to have dithering, and just be able to set the seed before I call
Renderer::render
.Describe the solution you'd like This could be achieved by making
FEngine::getRandomEngine
a public method ofEngine
(so I could callengine->getRandomEngine().seed(1234)
), or you could have a narrower interface with one function for setting the seed between render calls.Describe alternatives you've considered
Disabling dithering (my current solution), or casting
Engine*
toFEngine*
to get access togetRandomEngine()
.