Maniphest T101735

Geometry Nodes: Outline for volume is too big/excessive
Needs Information from Developers, Normal

Assigned To
None
Authored By
Vyacheslav (hitrpr)
Oct 11 2022, 4:28 AM
Tags
  • BF Blender
  • EEVEE & Viewport
Subscribers
Evan Wilson (EAW)
Hans Goudey (HooglyBoogly)
Iliya Katueshenock (Moder)
Jacques Lucke (JacquesLucke)
Omar Emara (OmarSquircleArt)
Philipp Oeser (lichtwerk)
Vyacheslav (hitrpr)

Description

System Information
Operating system: Windows-10-10.0.17763-SP0 64 Bits
Graphics card: NVIDIA GeForce RTX 3060/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 512.95

Blender Version
Broken: version: 3.3.1, branch: master, commit date: 2022-10-04 18:35, hash: rBb292cfe5a936

Short description of error
On the left is voxelized volume from GN. Outline is too far from any sane boundary of voxel grid.
On the right is mesh with same volumetric shader.




All this looks like mistake in size calculation.

Event Timeline

Vyacheslav (hitrpr) created this task.Oct 11 2022, 4:28 AM
Vyacheslav (hitrpr) updated the task description.Oct 11 2022, 4:31 AM
Omar Emara (OmarSquircleArt) renamed this task from Geometry nodes: outline for volume is too big/excessive to Geometry Nodes: Outline for volume is too big/excessive.Oct 11 2022, 9:55 AM
Omar Emara (OmarSquircleArt) changed the task status from Needs Triage to Needs Information from Developers.
Omar Emara (OmarSquircleArt) added projects: Geometry Nodes, Nodes & Physics.
Omar Emara (OmarSquircleArt) added a subscriber: Omar Emara (OmarSquircleArt).

Can confirm that it is excessive at times, but not sure about the behavior, so tagging the module for more information.

Iliya Katueshenock (Moder) added a subscriber: Iliya Katueshenock (Moder).Oct 11 2022, 10:26 AM

I seem to have asked this a long time ago and was told that this overlay doesn't have to be accurate.

Omar Emara (OmarSquircleArt) added a comment.Oct 11 2022, 10:30 AM

Okay. Still would be good to have an answer from a developer to use this report as reference for the future.

Vyacheslav (hitrpr) added a comment.Oct 11 2022, 11:25 AM
In T101735#1430606, @Iliya Katueshenock (Moder) wrote:

I seem to have asked this a long time ago and was told that this overlay doesn't have to be accurate.

That strange because accurate boundary allow to predict more about performance/load. I mean, when you see big volumetric, you know, that it will render slower and may be it is better to set some kind of threshold or blurry/fussy edge to shrink volume and volumetric render area.
Especeially taking in acount, that Blender do not have any map with statistics (how much sapmples spent or how much transparency passes)

Philipp Oeser (lichtwerk) added a subscriber: Philipp Oeser (lichtwerk).Oct 11 2022, 12:00 PM

It strongly depends on voxel size. Assume there is always (partially) empty voxels outside the mesh as well, but this can extend quite far out.

Omar Emara (OmarSquircleArt) added a comment.Oct 11 2022, 12:07 PM

@Philipp Oeser (lichtwerk) In the example file above, the empty space is 15 times the voxel size. Padding by 15 voxels for high voxel size seems excessive.

Philipp Oeser (lichtwerk) added a comment.Oct 11 2022, 12:29 PM
In T101735#1430682, @Omar Emara (OmarSquircleArt) wrote:

@Philipp Oeser (lichtwerk) In the example file above, the empty space is 15 times the voxel size. Padding by 15 voxels for high voxel size seems excessive.

Yes, sorry if sounded like it would justify current behavior, seems excessive for me, too.

Vyacheslav (hitrpr) added a comment.Oct 11 2022, 4:09 PM

if +15 voxels made by design, then there can be another design.
For example relative size.
minimum +1—2 voxel hull around
maximum +5—10 px between outline and voxels to avoid intersection of volume and outline: as we know the width of outline grows inside and outside. That is wrong (glove effect) but it is what we have now

Hans Goudey (HooglyBoogly) edited projects, added EEVEE & Viewport; removed Nodes & Physics, Geometry Nodes.Oct 11 2022, 8:03 PM
Hans Goudey (HooglyBoogly) added subscribers: Jacques Lucke (JacquesLucke), Hans Goudey (HooglyBoogly).

Looking at the code I didn't see explicit padding added, but I didn't spend that much time yet. Anyway, think this is more of a viewport/overlays task than nodes & physics. Adding Jacques here since he implemented this.

Evan Wilson (EAW) added a subscriber: Evan Wilson (EAW).Oct 13 2022, 1:41 AM
In T101735#1430606, @Iliya Katueshenock (Moder) wrote:

I seem to have asked this a long time ago and was told that this overlay doesn't have to be accurate.

This also seems odd to me given that the texture space overlay is accurate.

Vyacheslav (hitrpr) added a comment.Oct 16 2022, 11:45 AM

Jacques Lucke (JacquesLucke) added a comment.Oct 17 2022, 4:11 PM

The reason for the large outline is mainly performance related. It is somewhat costly to compute a tighter outline because then many more voxels have to be checked.

Vyacheslav (hitrpr) added a comment.Oct 17 2022, 8:11 PM
In T101735#1433367, @Jacques Lucke (JacquesLucke) wrote:

The reason for the large outline is mainly performance related. It is somewhat costly to compute a tighter outline because then many more voxels have to be checked.

As far as this outline veeery approximate, i suppose, BBox will be better. Or, at least this outline minus inverted bbox, so max borders will be on bbox and sometimes some concave borders smaller.
Also why size is jumping?