Resuming from IGI
Resuming from IGI
Theoretical question, because it obviously doesn't make any visual difference in the end result.
When resuming from an IGI, I notice that Indigo won't choose new RNG seeds.
Isn't this technically no longer unbiased? Wouldn't some contributions end up being counted again (*theoretically)? And if not, why bother with separate RNG seeds at all (for multi threads and network rendering)?
Thoughts?
When resuming from an IGI, I notice that Indigo won't choose new RNG seeds.
Isn't this technically no longer unbiased? Wouldn't some contributions end up being counted again (*theoretically)? And if not, why bother with separate RNG seeds at all (for multi threads and network rendering)?
Thoughts?
-
- Posts: 16
- Joined: Sun Jul 20, 2008 5:05 am
is the next random number calculated purely based on the previous random number, or by also using the timer?
If it's using the timer then we can presume the numbers are pretty random
otherwise, if we're not, then maybe there's some clever ways of making sure that the same calculation is never performed twice
the problem then though is that we're dealing with a deterministic system which may hinder render results.
that's my thoughts, but probably not any help
If it's using the timer then we can presume the numbers are pretty random
otherwise, if we're not, then maybe there's some clever ways of making sure that the same calculation is never performed twice
the problem then though is that we're dealing with a deterministic system which may hinder render results.
that's my thoughts, but probably not any help
Hey I'm fancy giving my two cent although I'm such an ignorant in the matter
I think the seed is a separated randomness that the one wich prevails during rendering, thus it is safe to affirm that unbiasedness is preserved.
That said, as you noticed seed was preserved; this must have a reason why, a good reason I mean.
Since, once started, the whole rendering process is marked as using a unic, given seed, this makes sense to me. I believe this has the advantage of preserving a certain coherency in the sampling process.
Ok now thats fifty bucks !
I think the seed is a separated randomness that the one wich prevails during rendering, thus it is safe to affirm that unbiasedness is preserved.
That said, as you noticed seed was preserved; this must have a reason why, a good reason I mean.
Since, once started, the whole rendering process is marked as using a unic, given seed, this makes sense to me. I believe this has the advantage of preserving a certain coherency in the sampling process.
Ok now thats fifty bucks !
obsolete asset
Also, even if your random numbers should start from the beginning, they would have to start at the same position as the first ray. So if the first ray was from the camera into the scene and your ray with a repeating random number is somewhere in the middle of the scene (for example from a wall), then it won't create the same pixels and so still converge.
Re: Resuming from IGI
You're quite right zsouthboy, a different RNG seed should be used when resuming a render. Otherwise the same samples will get computed again, which is redundant.zsouthboy wrote:Theoretical question, because it obviously doesn't make any visual difference in the end result.
When resuming from an IGI, I notice that Indigo won't choose new RNG seeds.
Isn't this technically no longer unbiased? Wouldn't some contributions end up being counted again (*theoretically)? And if not, why bother with separate RNG seeds at all (for multi threads and network rendering)?
Thoughts?
- Borgleader
- Posts: 2149
- Joined: Mon Jun 16, 2008 10:48 am
Re: Resuming from IGI
Is that an easy fix?OnoSendai wrote: You're quite right zsouthboy, a different RNG seed should be used when resuming a render. Otherwise the same samples will get computed again, which is redundant.
and gratz to zsouth for coming up with that
benn hired a mercenary to kill my sig...
Okay, sounds like an easy fix boss: save RNG seeds used in the header data somewhere.
As a heads up to other people for now: start indigo with the -seed x parameter, with the next number to assign to a thread (counting upwards), when resuming.
for example, first render used seeds 1 and 2, automatically chosen by Indigo, so the resume render should be indigo.exe -seed 3
As far as i can tell (I may make a scene to show off the problem though) this is a small problem and would be unnoticed unless you resumed a few dozen times.
As a heads up to other people for now: start indigo with the -seed x parameter, with the next number to assign to a thread (counting upwards), when resuming.
for example, first render used seeds 1 and 2, automatically chosen by Indigo, so the resume render should be indigo.exe -seed 3
As far as i can tell (I may make a scene to show off the problem though) this is a small problem and would be unnoticed unless you resumed a few dozen times.
Re: Resuming from IGI
Sure, just type -seed XXX on the command line.Borgleader wrote:Is that an easy fix?OnoSendai wrote: You're quite right zsouthboy, a different RNG seed should be used when resuming a render. Otherwise the same samples will get computed again, which is redundant.
and gratz to zsouth for coming up with that
Although I guess I should automate it somehow...
PRNGs are designed to do this.CTZn wrote:Ah, I thought seed would give a certain footprint to sampling, I really wasn't believing that a single seed could cause the very same sampling location... but knowing fractals a bit (say, they use a seed) it's logic finally...
Deterministic randomness, if you will.
See: encryption.
Who is online
Users browsing this forum: No registered users and 36 guests