File size: 743 Bytes
c83d2d6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <cstdint>
#include <torch/extension.h>

void compute_valid_sdf_cuda(float* vertices, int* faces, int64_t* sdf,
                            int numTriangles, int DIM, float threshold);

extern "C"
void compute_valid_sdf_wrapper(torch::Tensor vertices, torch::Tensor faces,
                               torch::Tensor sdf, int numTriangles,
                               int DIM=512, float threshold=8.0) {
    compute_valid_sdf_cuda(vertices.data_ptr<float>(), faces.data_ptr<int>(),
                           sdf.data_ptr<int64_t>(), numTriangles, DIM, threshold);
}

PYBIND11_MODULE(TORCH_EXTENSION_NAME, module) {
    module.def("compute_valid_sdf", &compute_valid_sdf_wrapper,
               "Compute signed SDF using CUDA");
}