Sharpen Heightfield Terrains

   1970   6   1
User Avatar
Member
90 posts
Joined: March 2013
Offline
Does anyone know how to sharpen Heightfield Terrains? I would like to avoid sharpening the polygons. Curious if there's a way to do this on the voxel side of things.
User Avatar
Member
4516 posts
Joined: Feb. 2012
Offline
Hi,

You can perform an unsharp mask in VEX on a volume like this where the second input is the output of a HeightField Blur, using a Volume Wrangle SOP:

int index = nametoprim ( 1, chs("layer") );
float d = volumesample ( 1, index, @P );
@density += ( @density - d ) * ch("amount");
Senior FX TD @ Industrial Light & Magic
Get to the NEXT level in Houdini & VEX with Pragmatic VEX! [www.pragmatic-vfx.com]

youtube.com/@pragmaticvfx | patreon.com/animatrix | animatrix2k7.gumroad.com
User Avatar
Member
90 posts
Joined: March 2013
Offline
Wow, thank you. What are you inputing into the layer?
User Avatar
Member
4516 posts
Joined: Feb. 2012
Offline
tadian
Wow, thank you. What are you inputing into the layer?

height

This is inline with other HF SOPs that expects a layer name.

And make sure to bind height to density:

Senior FX TD @ Industrial Light & Magic
Get to the NEXT level in Houdini & VEX with Pragmatic VEX! [www.pragmatic-vfx.com]

youtube.com/@pragmaticvfx | patreon.com/animatrix | animatrix2k7.gumroad.com
User Avatar
Member
90 posts
Joined: March 2013
Offline
Thank you so very much. This is awesome. I read up on the principles behind unsharp mask and not only does this work, but I understand it. Your explanation and graphic was very helpful.
Edited by tadian - March 27, 2023 21:43:20
User Avatar
Member
1 posts
Joined: Feb. 2021
Offline
hi
thank you for your help.
is it okay to write it that way?

float d = volumesample(1,"height",@P);
@height += (@height - d)*ch("amount");

thank!
User Avatar
Member
4516 posts
Joined: Feb. 2012
Offline
yx042117
hi
thank you for your help.
is it okay to write it that way?

float d = volumesample(1,"height",@P);
@height += (@height - d)*ch("amount");

thank!

Yes that's valid as well.
Senior FX TD @ Industrial Light & Magic
Get to the NEXT level in Houdini & VEX with Pragmatic VEX! [www.pragmatic-vfx.com]

youtube.com/@pragmaticvfx | patreon.com/animatrix | animatrix2k7.gumroad.com
  • Quick Links