Jump to content

List of points that appeared in a framerange


Macha

Recommended Posts

I have a pointcloud clipped by a camera frustrum. The pointcount is changing but I have unique ids on the points.

I want to tag those points that appear in any frame at any moment during the framerange.

So, if point id 128475639 has appeared in frame 1253 then I want to give it an attribute of some sort, valid for the whole framerange.

How can I do that?

The pc is too big for chops and the pointcount is changing.

I can sort of get arounf the changing pc for chops, but then I need to somehow copy the atts back onto the right points of the original, biig, pointcoud.

Edited by Macha
Link to comment
Share on other sites

Yeah, but the pointcount changes. So point 123 may be visible at frame 1000 but how does the original pc know that it does so when we're still at frame 856? Dops are aware of history but I want it to be aware of the future!

Chops are. But how to get the atts forwards into the past, if you know what I mean.

Link to comment
Share on other sites

Ooooh, there seems to be a way of doing it. A trail to get the "history" and to put the att back into the past with a vopsop, comparing each point id in the original pc, with each point id in the trailed one and if they exist we know that the point has existed in the future. Probably.

Link to comment
Share on other sites

I keep the trail there. It only has to appear once and it's fixed for the whole framerange. The position is irrelevant, just the fact that it exists. At least I think it works. No obvious error visible. Pointcount isn't double either because its just a small subset of the whole pc.

It's a little slow though to loop over all the points. Not terrible, but not great either.

Link to comment
Share on other sites

I didn't know it stays fixed that way. Here's a little trick to speed the attribute transfer up though, got that one from sanostol.

If both particle and trail have a pair attribute that links them to each other you could feed that attribute into one channel of a vector

and have that vector as the lookup position in the pcopen, then you just append a point sop to the trail points and put the pair attribute in the x

component tx, that way pcopen is able to find only the one pair point and you don't have to loop, it's fast, tested it with a couple million points recently!

Link to comment
Share on other sites

(they stay fixed because I tell them to)

Hmm, interesting. You're putting a constraint onto the search space? That should come in handy one day.

Edit: I tried that on 8 million points: 11 secs. H12 will surely fly through that!

Edited by Macha
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...