A fork of Blender 3.0.0 with support for a CUDA accelerated Subdivision Surface modifier. Subdivison Surface algorithm is adapted from the instructions on Wikipedia. Full credit goes to the devs of Blender; I am just modifying their source code.
Wireframe of a mesh generated my program (left) and the input mesh (left).
Open faced meshes are now supported by this program. (Output on the right)
Currently, the modifier is a work in progress, however it has been somewhat implemented into my custom build of Blender for now. Unfortunately, Blender doesn't expose the modifiers to bpy
so the only way that I could add one was through modifying Blender's source code.
You can view the old CUDA file here, and the work in progress rewrite here. The modifier's source code is available here.
Completed tasks:
-
Make a UI for the modifier in Blender.
-
Complete the basic front end and back end functionality of the modifier (CPU, not CUDA accelerated yet).
TODO:
-
Fix the
nvcc fatal : A single input file is required for a non-link phase when an outputfile is specified
error. -
Finish accelerating
BKE_subdiv_to_mesh_cuda()
using CUDA.
Compiling the Blender fork in this repo (currently broken):
./make.cmd
- Only works on quads (should be fixed by using Blender's built in subdiv method with CUDA acceleration).
- RTX 3080
- Windows 10 (1909, 64bit)