prefiltering pointposition before getting closest points

19 views
Skip to first unread message

Sebastian Kowalski

unread,
Jun 6, 2012, 4:26:58 AM6/6/12
to soft...@listproc.autodesk.com
hey list,

i dont need to check all pointpositions for closest points, just a
few. but i cant figure out how to filter them out.
got this huge cloud (10.000.000+ points) and softimage processes
neighbours pts forever...

the closest point node wont accept arrays, and i am afraid we cant get
a filtered set

any ideas?

thanks in advance


ps. ive tried to just calculate distance between all points with just
array resizing, this is fast, but i cant get near a million without
skyrocketing memory consumption, and therefore system freeze ups.


Rob Chapman

unread,
Jun 6, 2012, 5:35:20 AM6/6/12
to soft...@listproc.autodesk.com
Hi Sebastian,

what are you trying to do with the 10 million+ point cloud? closest
location to itself is going to be painful yes :) when the point
clouds are reaching that high sometimes its best to have a similar
pointcloud around but with far fewer points. like say 1%.
Surprisingly it is a heck of a lot faster doing closest points lookup
from cloud A(10mill+) to a lowres cloud B (100k+) than to itself.

So workflow is:-

take original cloud A at 10mil+ duplicate and reduce down to Cloud B
1% with Ice nodes 'test random probability' and 'delete point'
remember to freeze this cloud so the delete point is not live

do all closest location lookup and additional processing on Cloud B

when finished do closest location lookup cloud A to B to transfer
results back to A


Its not perfect solution for everything but in some cases with eg
lighting pointclouds or working out densities in ICE it beats waiting
around for those 10mill+ points to work themselves out!

you may be able to do something cleverer with only the one high res
pointcloud but for me this level of abstraction works out ok

cheers

Rob

Sebastian Kowalski

unread,
Jun 6, 2012, 6:26:33 AM6/6/12
to soft...@listproc.autodesk.com
Hey Rob,

thanks for the good suggestion, i will try how far i can get away with
a lower res this time.
Besides that, i am running in massive bugs when working with different
clouds, reading id's, jumping contextes.

querying closest point from a cloud to another (just to make sure, i
am using only positions i really want) giving me soo much pain when it
comes down to change context (per point array to object array, and
then writing it back cloud).
values change randomly, making no sense at all.. first time i am
really pissed working in ice.
i will see if i can provide a repro scene.
if i calm down

Rob Chapman

unread,
Jun 6, 2012, 6:37:29 AM6/6/12
to soft...@listproc.autodesk.com
oh sorry to hear that Sebastian, yes please show us some bugs repro'd,
maybe there is an alternative or workaround available or a different
way of getting the context you are after. At least letting Softimage
know these bugs exist is cathartic in itself

Best regards,

Rob

Ciaran Moloney

unread,
Jun 6, 2012, 6:58:27 AM6/6/12
to soft...@listproc.autodesk.com
Any chance you have a dependency cycle between the low and high res clouds? You usually have to cache out the low res cloud to avoid such things...

Ciaran

Alok Gandhi

unread,
Jun 6, 2012, 8:53:54 AM6/6/12
to soft...@listproc.autodesk.com
What Rob suggested should work. Another approach, if you do not want to create a low res version will be to set up a custom attribute on point of our interest. You can visually select these points and run a script to set the attribute value, then in your ICE graph you can query filter the point based on the custom attribute. Although it would not be presumably as fast as Rob's approach.
--

Reply all
Reply to author
Forward
0 new messages