Lukas Tönne LukasTonne
Lukas Tönne pushed to grid-extension-test at LukasTonne/blender 2023-12-05 18:50:47 +01:00
101746a945 Fix friend declaration for VolumeGridPtr.
Lukas Tönne pushed to grid-extension-test at LukasTonne/blender 2023-12-05 17:10:34 +01:00
f8b72f6d44 New node for capturing a field values as grid voxels.
39059a1db6 Merge branch 'volume-grid-sockets' into grid-extension-test
1b311a30a3 Added some basic unit tests for volumes and pointer behavior.
3d5b151366 Increment user count in cast constructor instead of typed() method.
Compare 4 commits »
Lukas Tönne commented on pull request blender/blender#115270 2023-12-05 14:55:54 +01:00
Geometry Nodes: initial Volume Grid socket support

it hinders reusability of grids

Can you explain this some more? The code comment says it's just a wrapper around grid metadata to avoid a string copy. It's only used for logging and when…

Lukas Tönne commented on pull request blender/blender#115270 2023-12-05 13:56:47 +01:00
Geometry Nodes: initial Volume Grid socket support

Oh sorry, i was getting confused by the cast direction. Moved this to the constructor.

Maybe the constructor should also be private so that one is forced to call typed()? Yes the constructor…

Lukas Tönne pushed to volume-grid-sockets at LukasTonne/blender 2023-12-05 13:56:40 +01:00
1b311a30a3 Added some basic unit tests for volumes and pointer behavior.
3d5b151366 Increment user count in cast constructor instead of typed() method.
Compare 2 commits »
Lukas Tönne commented on pull request blender/blender#115270 2023-12-05 12:13:28 +01:00
Geometry Nodes: initial Volume Grid socket support

Not sure what you mean, the snippet above is in the constructor.

Lukas Tönne pushed to grid-extension-test at LukasTonne/blender 2023-12-05 10:14:55 +01:00
d91f8e7863 Merge branch 'volume-grid-sockets' into grid-extension-test
163bab64c0 Merge branch 'main' into volume-grid-sockets
5ee032a2f7 Sanity check in drawing code trying to access optional volume bounds.
0ce7d5dc18 Fix VolumeGrid copy function: make an actual deep grid copy.
0bc33f3f88 Fix Store Named Grid node with mutable VolumeGrid.
Compare 46 commits »
Lukas Tönne pushed to volume-grid-sockets at LukasTonne/blender 2023-12-05 10:14:30 +01:00
163bab64c0 Merge branch 'main' into volume-grid-sockets
5ee032a2f7 Sanity check in drawing code trying to access optional volume bounds.
0ce7d5dc18 Fix VolumeGrid copy function: make an actual deep grid copy.
0bc33f3f88 Fix Store Named Grid node with mutable VolumeGrid.
1068df47e9 Add back missing destructor for VolumeGridPtrCommon.
Compare 45 commits »
Lukas Tönne commented on pull request blender/blender#115270 2023-12-05 10:12:48 +01:00
Geometry Nodes: initial Volume Grid socket support
   if (*this) {
      this->get()->add_user();
    }
    return VolumeGridPtr<T>(*this);
Lukas Tönne pushed to grid-extension-test at LukasTonne/blender 2023-12-05 09:25:00 +01:00
c82b187e31 Initialize solver state.
34ba912102 Fix VolumeGrid copy function: make an actual deep grid copy.
Compare 2 commits »
Lukas Tönne pushed to grid-extension-test at LukasTonne/blender 2023-12-05 00:24:02 +01:00
cbc52b3225 Fix Store Named Grid node with mutable VolumeGrid.
Lukas Tönne pushed to grid-extension-test at LukasTonne/blender 2023-12-04 20:16:50 +01:00
0e4ecc013d Fix build errors.
18c4513766 Add back missing destructor for VolumeGridPtrCommon.
Compare 2 commits »
Lukas Tönne pushed to grid-extension-test at LukasTonne/blender 2023-12-04 17:32:43 +01:00
590c4d4fee Merge branch 'volume-grid-sockets' into grid-extension-test
4ea0196b6f Remove unnecessary check after BKE_volume_grid_get_for_write.
b802677898 Make sure volume grid API functions create mutable data copies when needed.
16edee566a Comment explaining the user count of the openvdb shared_ptr.
b7e781d133 Don't try to increment user count when the pointer is null.
Compare 15 commits »
Lukas Tönne commented on pull request blender/blender#115270 2023-12-04 17:31:30 +01:00
Geometry Nodes: initial Volume Grid socket support
Lukas Tönne pushed to volume-grid-sockets at LukasTonne/blender 2023-12-04 17:23:54 +01:00
4ea0196b6f Remove unnecessary check after BKE_volume_grid_get_for_write.
Lukas Tönne commented on pull request blender/blender#115270 2023-12-04 17:21:40 +01:00
Geometry Nodes: initial Volume Grid socket support

Should be fixed now. The BKE_volume_grid_get_for_write function makes sure the data is mutable and otherwise creates a copy. Accessing OpenVDB grids asserts that the data is mutable before…

Lukas Tönne pushed to volume-grid-sockets at LukasTonne/blender 2023-12-04 17:18:53 +01:00
b802677898 Make sure volume grid API functions create mutable data copies when needed.
Lukas Tönne commented on pull request blender/blender#115270 2023-12-04 16:40:54 +01:00
Geometry Nodes: initial Volume Grid socket support

That would be the case for getting a VolumeGrid from Volume, but not for accessing the openvdb::GridBase from VolumeGrid. I know of other cases of implicit sharing data changing their data…

Lukas Tönne pushed to volume-grid-sockets at LukasTonne/blender 2023-12-04 16:31:42 +01:00
16edee566a Comment explaining the user count of the openvdb shared_ptr.
Lukas Tönne pushed to volume-grid-sockets at LukasTonne/blender 2023-12-04 15:35:04 +01:00
b7e781d133 Don't try to increment user count when the pointer is null.
2b62f77202 Set output values before removing grid from volume.
6a4b095f33 Removed the unused make_implicit_sharing_ptr utility function.
6caba1d201 Call tag_ensured_mutable after checking for mutable grid data.
898cf929d4 Use void instead of a generic MaskTree to indicate that string attributes are unsupported.
Compare 9 commits »