Skip to content

Release v0.8.0

Choose a tag to compare

@KhoiDOO KhoiDOO released this 10 Sep 16:54
· 74 commits to main since this release
86140c2

Features

  • GPU-Accelerated SuperQuadrics CUDA Tessellation (conquer3d.csrc.primitive):

    • Implemented divide-and-conquer arc-length superellipse sampling, sign-preserving parametric evaluation, and triangle mesh indexing in conquer3d/csrc/primitive/superquadric.cu and conquer3d/csrc/primitive/superquadric.h.
    • Added CUDA kernel compute_superquadric_mesh_kernel and host launcher compute_superquadric_mesh delivering high-throughput watertight mesh generation (>66 M faces/s).
    • Ensured consistent outward-facing normals, non-degenerate triangle topology, and watertight polar caps.
    • Added PyBind11 bindings in conquer3d/csrc/binds/primitive/superquadric.cpp exposed via _C.compute_superquadric_mesh_func.
  • High-Level SuperQuadrics Mesh Extraction (conquer3d.primitive):

    • Added @torch.no_grad() get_mesh(resolution=30, return_labels=False) method to SuperQuadrics in conquer3d/primitive/sq.py.
    • Supports direct extraction of unified vertex coordinates, triangle indices, and originating primitive labels for semantic tracking, part decomposition, and collision grouping.

Refactors & Build

  • Build System: Bumped package version to 0.8.0 in pyproject.toml.
  • CSRC PyBind Submodule: Registered superquadric bindings in conquer3d/csrc/pybind.cpp.

Examples

  • Differentiable SuperQuadric Fitting (examples/differentiable_fitting/superquadrics.py):
    • Added end-to-end multi-primitive volumetric abstraction fitting on the Stanford Armadillo mesh using Conquer3D's differentiable Chamfer distance and SuperFlex loss formulations.
    • Demonstrates joint optimization of scale, translation, rotation (quaternions), and shape exponents ($\epsilon_1, \epsilon_2$) with overlap repulsion, parsimony penalties, and export to PLY.