Skip to content

Improve VDB Fillet SOP naming and improve performance on tree construction implementation#2240

Open
apradhana wants to merge 2 commits into
AcademySoftwareFoundation:feature/vdb_blendfrom
apradhana:apradhana/vdb_blend_performance
Open

Improve VDB Fillet SOP naming and improve performance on tree construction implementation#2240
apradhana wants to merge 2 commits into
AcademySoftwareFoundation:feature/vdb_blendfrom
apradhana:apradhana/vdb_blend_performance

Conversation

@apradhana

Copy link
Copy Markdown
Contributor

This PR has targets two things

  • Parameter name in VDB Fillet SOP
  • Make the output construction to be more efficient
    For segment construction:
Case Previous segment_build Fused segment_build Speedup
23M 0.0336s 0.0205s 1.64x
100M 0.129s 0.0532s 2.43x

The algorithm now does this:

  • It first walks both lhs and rhs internal nodes together:
    • regions that do not overlap are copied directly into the output
    • regions that do overlap are added to primaryLeafNodes or secondaryLeafNodes
  • Then one leaf pass processes those queued leaves:
    • primaryLeafNodes handles lhs-owned work, including fillet computation
    • secondaryLeafNodes handles rhs-only leaves

…in a single pass.

Signed-off-by: Andre Pradhana <andre.pradhana@gmail.com>
Signed-off-by: Andre Pradhana <andre.pradhana@gmail.com>
@apradhana apradhana requested review from danrbailey and jmlait June 23, 2026 22:21
@apradhana apradhana requested a review from kmuseth as a code owner June 23, 2026 22:21
"iso-contour of the intersection that is going to be modified.\n"
"This is measured in world-space."));

// Exponent, i.e. beta
parms.add(hutil::ParmFactory(PRM_FLT_J, "beta", "Exponent")
parms.add(hutil::ParmFactory(PRM_FLT_J, "beta", "Falloff Sharpness")

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

falloff


// Amplitude
parms.add(hutil::ParmFactory(PRM_FLT_J, "gamma", "Multiplier")
parms.add(hutil::ParmFactory(PRM_FLT_J, "gamma", "Fillet Strength")

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fillet_strength

// Band radius of influence / falloff width, i.e. alpha
parms.add(hutil::ParmFactory(PRM_FLT_J, "alpha", "Band Radius")
// Blend radius of influence / falloff width, i.e. alpha
parms.add(hutil::ParmFactory(PRM_FLT_J, "alpha", "Blend Radius")

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

blend_radius

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant