Skip to content

renamedquery/blender-cuda-subdivision-surface-gpu

Repository files navigation

blender-cuda-subdivison-surface-gpu

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.

Current Progress:

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 Instructions:

Compiling the Blender fork in this repo (currently broken):

./make.cmd

Limitations:

  • Only works on quads (should be fixed by using Blender's built in subdiv method with CUDA acceleration).

Tested CUDA Capable GPUs

  • RTX 3080

Tested OSes

  • Windows 10 (1909, 64bit)

About

A Blender 3.0.0 fork that will allow you to subdivide complex meshes using CUDA compatible GPUs. (WIP)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published