GPU Cloth TOP in TouchDesigner using CUDA-enabled NVIDIA Flex

Overview

ClothTOP

This project demonstrates how to use NVIDIA FleX for GPU cloth simulation in a TouchDesigner Custom Operator. It also shows how to render dynamic meshes from the texture data using custom PBR GLSL material shaders inside TouchDesigner.

Features:

  • Cloth/inflatable simulation with controllable anchor points.
  • Triangle mesh collision.
  • Spheres, boxes and planes collisions.
  • Many controlable parameters like wind, gravity, adherence, stiffness, etc.

Demo Previews

Demos:

  • ClothTOP_dali.toe shows complex triangle mesh collision with multiple cloth bodies.
  • ClothTOP_inflatable.toe shows an inflatable body with dynamic pressure.
  • ClothTOP_cloak.toe shows a cloth body with animated anchor points.

Install NVIDIA FleX

  • Download FleX 1.2 (get access here).
  • Create a new environment variable called NvFlexDir that holds the path to the /flex folder you unpacked.

Compilation

  • Install the CUDA SDK you want to use.
  • Generate the Visual Studio project using CMake.
  • Building will automatically copy the .dll to the Plugins folder. If instead you are using the release, just create the Plugins folder yourself and place the .dll there.
  • TouchDesigner 2020.28110+ supported (tested on Windows 10).

3D Models

  • Dali 3D model (download and place the .fbx next to ClothTOP_dali.toe)
  • Inflatable 3D model (already in ClothTOP_inflatable.toe)
  • Cloak 3D model (already in ClothTOP_cloak.toe)

References

  • The FlexCHOP by Vincent Houzé provided a starting point for this project.

Known Issues

  • Moving anchors too fast can cause crashes with the solver not converging for extreme deltas.
  • The UV output mode can easily crash for certain meshes. Recommended use of Linear mode.
You might also like...
4eisa40 GPU computing : exploiting the GPU to execute advanced simulations

GPU-computing 4eisa40 GPU computing : exploiting the GPU to execute advanced simulations Activities Parallel programming Algorithms Image processing O

We implemented our own sequential version of GA, PSO, SA and ACA using C++ and the parallelized version with CUDA support

We implemented our own sequential version of GA, PSO, SA and ACA using C++ (some using Eigen3 as matrix operation backend) and the parallelized version with CUDA support. All of them are much faster than the popular lib scikit-opt.

A coverage-guided and memory-detection enabled fuzzer for windows applications.
A coverage-guided and memory-detection enabled fuzzer for windows applications.

WDFuzzer Manual 中文手册见 README_CN.md WDFuzzer:winafl + drmemory WDFuzzer is an A coverage-guided and memory detection abled fuzzer for for windows softw

A VA-API implemention using NVIDIA's NVDEC

nvidia-vaapi-driver This is an VA-API implementation that uses NVDEC as a backend. This implementation is specifically designed to be used by Firefox

A CUDA implementation of Lattice Boltzmann for fluid dynamics simulation
A CUDA implementation of Lattice Boltzmann for fluid dynamics simulation

Lattice Boltzmann simulation I am conscious of being only an individual struggling weakly against the stream of time. But it still remains in my power

 Tiny CUDA Neural Networks
Tiny CUDA Neural Networks

This is a small, self-contained framework for training and querying neural networks. Most notably, it contains a lightning fast "fully fused" multi-layer perceptron as well as support for various advanced input encodings, losses, and optimizers.

BM3D denoising filter for VapourSynth, implemented in CUDA

VapourSynth-BM3DCUDA Copyright© 2021 WolframRhodium BM3D denoising filter for VapourSynth, implemented in CUDA Description Please check VapourSynth-BM

HIPIFY: Convert CUDA to Portable C++ Code

Tools to translate CUDA source code into portable HIP C++ automatically

Cooperative primitives for CUDA C++.
Cooperative primitives for CUDA C++.

CUB provides state-of-the-art, reusable software components for every layer of the CUDA programming model

Releases(0.3)
Owner
Vinícius Ginja
Vinícius Ginja
nvidia nvmpi encoder for streamFX and obs-studio (e.g. for nvidia jetson. Requires nvmpi enabled ffmpeg / libavcodec)

nvmpi-streamFX-obs nvidia nvmpi encoder for streamFX and obs-studio (e.g. for nvidia jetson. Requires nvmpi enabled ffmpeg / libavcodec) Purpose This

null 16 Jun 25, 2022
Hardware-accelerated DNN model inference ROS2 packages using NVIDIA Triton/TensorRT for both Jetson and x86_64 with CUDA-capable GPU.

Isaac ROS DNN Inference Overview This repository provides two NVIDIA GPU-accelerated ROS2 nodes that perform deep learning inference using custom mode

NVIDIA Isaac ROS 62 Dec 14, 2022
Raytracer implemented with CPU and GPU using CUDA

Raytracer This is a training project aimed at learning ray tracing algorithm and practicing convert sequential CPU code into a parallelized GPU code u

Alex Kotovsky 2 Nov 29, 2021
GPU ray tracing framework using NVIDIA OptiX 7

GPU ray tracing framework using NVIDIA OptiX 7

Shunji Kiuchi 27 Dec 22, 2022
A GPU (CUDA) based Artificial Neural Network library

Updates - 05/10/2017: Added a new example The program "image_generator" is located in the "/src/examples" subdirectory and was submitted by Ben Bogart

Daniel Frenzel 93 Dec 10, 2022
A easy-to-use image processing library accelerated with CUDA on GPU.

gpucv Have you used OpenCV on your CPU, and wanted to run it on GPU. Did you try installing OpenCV and get frustrated with its installation. Fret not

shrikumaran pb 4 Aug 14, 2021
Docker files and scripts to setup and run VINS-FUSION-gpu on NVIDIA jetson boards inside a docker container.

jetson_vins_fusion_docker This repository provides Docker files and scripts to easily setup and run VINS-FUSION-gpu on NVIDIA jetson boards inside a d

Mohamed Abdelkader Zahana 22 Dec 18, 2022
Golang bindings for Nvidia Datacenter GPU Manager (DCGM)

Bindings Golang bindings are provided for NVIDIA Data Center GPU Manager (DCGM). DCGM is a set of tools for managing and monitoring NVIDIA GPUs in clu

NVIDIA Corporation 40 Dec 27, 2022
waifu2x converter ncnn version, runs fast on intel / amd / nvidia GPU with vulkan

waifu2x ncnn Vulkan ncnn implementation of waifu2x converter. Runs fast on Intel / AMD / Nvidia with Vulkan API. waifu2x-ncnn-vulkan uses ncnn project

null 2.4k Dec 24, 2022