Skip to content

Volume grid with irregular dimension bug? #356

Description

@danhambleton

I'm new to polyscope (great project, btw) but it seems like if I use irregular resolution (dimensions) something goes wrong with the render. If I run this code (notice the dim = (20, 20, 25) :

import polyscope as ps
import numpy as np

ps.init()

dims = (20, 20, 25)                
bound_low  = (-3.0, -3.0, -3.0)
bound_high = ( 3.0,  3.0,  3.0)

# Register the grid in Polyscope
ps_grid = ps.register_volume_grid("sample grid", dims, bound_low, bound_high)

def torus_sdf(x, y, z, R=1.5, r=0.5):
    xy_len = np.sqrt(x*x + y*y)
    qx = xy_len - R
    qz = z
    return np.sqrt(qx*qx + qz*qz) - r


nx, ny, nz = dims
xs = np.linspace(bound_low[0],  bound_high[0],  nx)
ys = np.linspace(bound_low[1],  bound_high[1],  ny)
zs = np.linspace(bound_low[2],  bound_high[2],  nz)


X, Y, Z = np.meshgrid(xs, ys, zs, indexing='ij')

scalar_vals = torus_sdf(X, Y, Z, R=1.5, r=0.6) 

# Add scalar quantity on nodes
ps_grid.add_scalar_quantity(
    "torus SDF (nodes)",
    scalar_vals,
    defined_on='nodes',
    vminmax=(-5.0, 5.0),
    enabled=True
)

ps.show()

I get this result

Image

Activity

  1. nmwsharp commented on Dec 23, 2025

    @nmwsharp
    Owner

    Hi, thanks for reporting this (and pardon the delay!)

    I reproduced this on my end, definitely a bug, looking in to it.

  2. nmwsharp commented on Dec 23, 2025

    @nmwsharp
    Owner

    Should be fixed in #378, please reopen if not. Thanks again for the report.

    (That fix is here in in the underlying C++, it will be propagated to C++ when I update to the next version, probably within the next 2 weeks.)

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions