JuliaGeometry / Descartes.jl

Software Defined Solid Modeling
MIT License
44 stars 2 forks source link

Oct Tree sampling and Autodiff #23

Open sjkelly opened 5 years ago

sjkelly commented 5 years ago

One of the ideas behind this library was to create differentiable geometry. We need to solve Quadratic Error Functions for Dual contours (#15). In addition we may save some time by using Oct Trees, but I am unsure how these behave on the GPU and if there are known algorithms for meshing of Oct Trees.

sjkelly commented 5 years ago

The main question is how should Ck continuity be specified. We ostensibly want different functions to avoid call-site branches. The current notion of FRep can allow for propagation of an N parameter to use generated functions. e.g. Frep{2} gives a twice differentiable function using Rvachev clipping and FRep{0} will implement max/min variants for performance. That said I think the first component of this function parameterization is easy to implement on the GPU. The question is if we use ForwardDiff to accomplish these goals we will need to provide some sort of type overload on the GPU.