RFE: Attribute Blur POP

like houdini, can blur/diffuse specific attributes across neighboring points/prims based on some function

would help with things like smoothing/relaxing geometry too

3 Likes

Hi Lake, I created my own solution using the Neighbor POP. Essentially, I’m averaging out the attribute.

Attribute_Blur_exmaple.toe (6.7 KB)

2 Likes

Thanks Yuval you beat me to it, we do have an RFE for an Attribute Blur POP (a request already somewhere in there More comments/Questions - #2) with more options but you can achieve it with neighbor POP.

One thing currently missing with the neighbor POP for a good blur/relaxation is multiple passes (calculate distance based neighbors or connected neighbors once, blur multiple times), you would currently have to output neighbor IDs from neighbor POP and do the multi pass in GLSL if you want to optimize.

Attached a prototype I had
MultiPassBlur.toe (4.5 KB)

2 Likes

There are some examples in Overview.toe at /proximityNeighbor/neighborAverages

1 Like

@vincentDev to add to this it’s also be great if the neighbor POP had a density toggle that could just output a normalised density based on the max neighbors distance. It’s totally possible with NumNebrs average with a high max neighbors value but you need to then convert the output to a float and normalize yourself. It’d be really neat to just be able to have that…

…Or maybe theres a POP that could output attribute blur/density/edge density (similar in style to the houdini OP I mentioned a while back: Labs Edge Color)

1 Like

Thanks all - apologies for not seeing the other RFE. Appreciate all the suggestions - I had tried to use the neighbor POP in this way with a GLSL, but was using the neighbor data incorrectly.

Examples cleared it up - thank you!

1 Like

@Ennui sounds good, we’ll aim to streamline getting density out of neighbor POP (or another POP if it makes sense)

1 Like

Hi Vincent, regarding TD Alpha 6 — how does this example change with the new shader API?
It would be helpful to have a reference based on this previous Alpha 5.4 version.

Hello,

Here’s an updated version, comparing syntax to older version

MultiPassBlur_32374.toe (4.5 KB)

For simple cases you most likely only need to update how to read the input attributes.
If you put down a new GLSL POP or a new GLSL Advanced POP, you’ll see a comment with the new syntax.
Otherwise see here in Attribute Access

Maybe I should add some examples with actual attributes in there so it’s a little easier to understand.

Otherwise let us know if you have trouble updating older code, happy to help!

2 Likes