Isotropix Forums

Random seed on point cloud distribution

General Discussion about Isotropix and CG related topics

Random seed on point cloud distribution

Unread postby ashachar » Tue Sep 17, 2019 7:57 pm

Hey,

We're scattering points on an animated hair cache so we can scatter debris. We set the distribution to [random] and leave the [seed] as 0.
Locally when changing the frame number the points stick to the cache but when submitting to the farm the points start to shift around.

It seems like every new Clarisse session re-initiate what random with a seed means. Is this a bug? I'm assuming that given a fixed seed we should see stable random generation but maybe I'm misunderstanding it.

Thanks,
Amir
ashachar
 
Posts: 17
Joined: Tue Oct 03, 2017 9:15 am

Re: Random seed on point cloud distribution

Unread postby esmith » Thu Sep 19, 2019 5:43 pm

I need to look into this further. But certainly on the same machine, 2 separate sessions of Clarisse, that a random seed value of 0 and 0 on both sessions yields the same results. If I change the seed to 3, both sessions share the same result.

I'm slightly confused on the result of your issue. Are the points still sticking to the animated cache on the farm? If the points are still sticking, then what you are seeing is just a different distribution of debris on the hair, which is different than that which was approved and art directed?

Just confirm for me I understand the issue so I can make sure to look into solutions properly.

Thank you
User avatar
esmith
 
Posts: 147
Joined: Mon May 22, 2017 4:11 pm

Re: Random seed on point cloud distribution

Unread postby ashachar » Thu Oct 03, 2019 6:24 pm

Hey Eric,

Sorry for the delay. Our issue is when we render on separate machines. The seed seems to be different. Do you have another machine configuration that you can do the same test on? It might be tide to hardware so the random number is different even with the same seed?
ashachar
 
Posts: 17
Joined: Tue Oct 03, 2017 9:15 am

Re: Random seed on point cloud distribution

Unread postby dboude » Fri Oct 04, 2019 8:25 am

Hi,

To be sure : the seed is diffenrent on the same rendered frame between machines?

Have those machine different OS? Like Linux and Windows mixed?

Cheers ;)
Démian
Isotropix
Technical Artist - Clarisse Specialist
User avatar
dboude
 
Posts: 1173
Joined: Mon Jul 03, 2017 10:51 am

Re: Random seed on point cloud distribution

Unread postby ashachar » Sat Oct 05, 2019 12:24 am

Seed value is the same on all machines but scatter result is different.
If we submit to the farm using single frames, i.e. every frame goes to a different render blade, the scatter result pops around.
If we batch frames at 5, i.e. 5 frames go to each machine, the result is stable for 5 frames and then it changes.

Basically every time Clarisse starts a cnode render, with the same seed the scatter result seems different.

Everything is Linux and render farm machines are pretty similar.
Can you dig more details on what the random number generator relays on in the scatterer?
ashachar
 
Posts: 17
Joined: Tue Oct 03, 2017 9:15 am

Re: Random seed on point cloud distribution

Unread postby dboude » Mon Oct 07, 2019 9:08 am

Another thing, are you using Clarisse scatterers or DNEG ones ?
Démian
Isotropix
Technical Artist - Clarisse Specialist
User avatar
dboude
 
Posts: 1173
Joined: Mon Jul 03, 2017 10:51 am

Re: Random seed on point cloud distribution

Unread postby ashachar » Mon Oct 07, 2019 7:12 pm

Native one but we actually found today that the input curves we're scattering on are coming from a combiner that's combining all the curves from our internal fur procedural plugin. The points stick when we scatter onto a caches out curves (i.e. alembic).

So something withing out fur procedural that's changing when clarisse starts is affecting the random mode although we set a seed.

Do you know what "random" is expecting as input to be stable?
ashachar
 
Posts: 17
Joined: Tue Oct 03, 2017 9:15 am

Re: Random seed on point cloud distribution

Unread postby adomon » Tue Oct 08, 2019 2:11 pm

Hello,

It just expects the underlying geometry to be the same from one session to another. All the primitives defining your asset must be exactly the same. If the Geometry Mode is either in Global Base or Global deformed, it also expects the world matrix of each object to be the same.
So I think as you mentioned, it has something to do with your plugin.

First you could try for example to print the bounding box and the number of primitives of your procedural furs with a python script in multiple sessions, and see if there are any differences.
You can select the combiner and run the following script :

Code: Select all
print ix.selection[0].get_module().get_bbox()
print ix.selection[0].get_module().get_primitive_count()


There are other things to check though, like the order and the area of each primitives, but it is harder to do by script.

Thanks
User avatar
adomon
 
Posts: 47
Joined: Fri Jul 01, 2016 10:22 pm


Return to General Discussion