ViewDesignEngine  3.1.0
高性能 CAD 计算几何引擎
sdf_torch.h 文件参考

SDF 批量求值与梯度计算(CPU 后端) 更多...

#include "vde/sdf/sdf_gradient.h"
#include "vde/sdf/sdf_tree.h"
#include "vde/core/point.h"
#include <vector>
sdf_torch.h 的引用(Include)关系图:

浏览源代码.

命名空间

 vde
 
 vde::sdf
 

函数

void vde::sdf::evaluate_batch (const SdfNodePtr &root, const double *points, int n, double *distances)
 在批处理模式下求值 SDF 更多...
 
void vde::sdf::gradient_batch (const SdfNodePtr &root, const double *points, int n, double *gradients)
 在批处理模式下求值 SDF 的空间梯度 更多...
 
void vde::sdf::evaluate_with_gradient_batch (const SdfNodePtr &root, const double *points, int n, double *distances, double *gradients)
 一次遍历同时求值 SDF 值和梯度 更多...
 

详细描述

SDF 批量求值与梯度计算(CPU 后端)

提供吞吐量优化的 SDF 批量求值接口,适合大量点或实时场景。

设计意图

虽然命名为 sdf_torch,但本头的实现是纯 C++ CPU 版本, 不依赖 PyTorch。接口设计为"可替换为 CUDA/Torch 后端"的占位, 函数签名与假设的 GPU 版本保持一致。

数据布局

  • 输入数组: x,y,z 交替存储(SoA 未使用),n 个点 × 3 个 double
  • 输出距离: 连续 n 个 double
  • 输出梯度: 连续 3n 个 double,x,y,z 交替存储

使用场景

  • Ray-marching:沿射线采样大量点
  • 网格求值:Marching Cubes 前的密集采样
  • 可视化:距离场的 heatmap 生成
  • 物理仿真:碰撞检测批量查询

在文件 sdf_torch.h 中定义.