Point Cloud interpolation in SHOPs

   6776   10   2
User Avatar
Member
702 posts
Joined: March 2009
Offline
Hi there,

I'm working on a shader based on Peter Quiint's video on point clouds and I my points have different colors and that's generating some crazy artifacts in my renders. It basically only occurs when the points have different colors.

Would anybody have an insight on a better way of filtering the different colors?
I tried using a PCFilter instead of the the PCIterate/While loop combo and the result is not to my liking either as it softens the colors too much and doesn't fully get rid of the artifacts.

Cheers

Attachments:
point_cloud.png (26.5 KB)
artifacts.png (147.1 KB)

Toronto - ON
My Houdini playground [renderfarm.tumblr.com]
“As technology advances, the rendering time remains constant.”
User Avatar
Member
2624 posts
Joined: Aug. 2006
Offline
Hi,
check out an PC occlusion use in a shader from my site should help you http://web.me.com/circusmonkey/circusmonkey/PointClouds.html [web.me.com]

Rob
Gone fishing
User Avatar
Member
50 posts
Joined: Feb. 2009
Offline
I haven't seen the tutorial, and I don't know what is causing the issue, but this note from the journal is relevant and super helpful to anyone trying to use point clouds for anything other than pcfilter:

Houdini 12.0.517: New VEX point cloud functions pcnumfound and pcimportbyidxFOO, with corresponding VOPs pcnumfound and pcimportbyidx. These allow processing of point cloud searches using a For VOP rather than black magic and ritual sacrifices.
User Avatar
Member
8083 posts
Joined: July 2005
Offline
Yes, I think the problem is probably because rafael's black magic isn't strong enough and/or hasn't made the appropriate ritual sacrifice(s).
User Avatar
Member
702 posts
Joined: March 2009
Offline
edward
Yes, I think the problem is probably because rafael's black magic isn't strong enough and/or hasn't made the appropriate ritual sacrifice(s).

Ha! I thought a sacrifice of time and braincells were enough… you know… can't stand blood on my keyboard!

My black magic needs some improvement indeed. @circusmonkey, I'll check your file right now.
@danBode, I'm still on H11.1.201, so those new VEX functions might not apply… I'll try some stuff out anyway. Thanks!
Toronto - ON
My Houdini playground [renderfarm.tumblr.com]
“As technology advances, the rendering time remains constant.”
User Avatar
Member
702 posts
Joined: March 2009
Offline
circusmonkey
Hi,
check out an PC occlusion use in a shader from my site should help you http://web.me.com/circusmonkey/circusmonkey/PointClouds.html [web.me.com]
Rob

Hey Rob, I looked at your file and in fact I had tried an identical setup, the only difference is that you're gathering you points from occlusion VOP and I have mine being emitted by a particle sim. Which makes me think that you might have a much bigger point cloud than mine with a a finer gradation of values, given your samples per pixel in the generation phase.
I'll test upping my particle emission to begin with and maybe some sort of pre-filtering in the writing phase… Let's see.

Cheers
Toronto - ON
My Houdini playground [renderfarm.tumblr.com]
“As technology advances, the rendering time remains constant.”
User Avatar
Member
702 posts
Joined: March 2009
Offline
Ok, increasing the shading quality improves a lot the initial result, but at the expense of render time… Jumping from a few seconds to a few minutes here.

:cry:
Toronto - ON
My Houdini playground [renderfarm.tumblr.com]
“As technology advances, the rendering time remains constant.”
User Avatar
Member
795 posts
Joined: April 2020
Offline
I created an example file a while back, that might not solve your problem, but could be useful anyway. It shows a number of ways to combine the samples from a point cloud to color a grid.

I included one that averages the samples,and another one that adds the values attenuated but the distance from the sample. Other compositing operations could be easily added.

Cheers,
Koen

Attachments:
point_clouds_attrib_transfer.hipnc (326.2 KB)

User Avatar
Member
702 posts
Joined: March 2009
Offline
koen
I created an example file a while back, that might not solve your problem, but could be useful anyway. It shows a number of ways to combine the samples from a point cloud to color a grid.

I included one that averages the samples,and another one that adds the values attenuated but the distance from the sample. Other compositing operations could be easily added.

Cheers,
Koen

Hey Koen,

That is great, I got something good out of your attenuation example by using a color mix VOP instead of the last Add. My question now is how could I implement that in SHOPs, I mean, is there a way to inspect the current sample color before the point cloud loop? I have a feeling that it'll return black unless I can do it recursively somehow…

Cheers
Toronto - ON
My Houdini playground [renderfarm.tumblr.com]
“As technology advances, the rendering time remains constant.”
User Avatar
Member
795 posts
Joined: April 2020
Offline
this could just be a little subnet that would return the color from the point cloud.

The combination with what is already there depends on the rest of your shader I guess.

Perhaps you can just get Cd if the color is on the geometry already and start from there?
User Avatar
Member
702 posts
Joined: March 2009
Offline
Cool, I'll definitely give it a try! There's no Cd attribute on the geo, I was hoping to get a smooth interpolation from just the point cloud. Maybe I'm just hoping too much!

cheers
Toronto - ON
My Houdini playground [renderfarm.tumblr.com]
“As technology advances, the rendering time remains constant.”
  • Quick Links