All Projects → dario-zubovic → Metaballs

dario-zubovic / Metaballs

Licence: mit
Unity 3D implementation of metaballs and marching cubes algorithm

Labels

Projects that are alternatives of or similar to Metaballs

Processingstuff
Various pretty-ish Processing sketches by Blokatt. About 50% shaders.
Stars: ✭ 153 (-14.04%)
Mutual labels:  glsl
Sparkle
🎇 A modern particle engine running on GPU, using c++14 and OpenGL 4.4.
Stars: ✭ 162 (-8.99%)
Mutual labels:  glsl
Gpu.js
GPU Accelerated JavaScript
Stars: ✭ 13,427 (+7443.26%)
Mutual labels:  glsl
Glsl
VSIX Project that provides GLSL language integration.
Stars: ✭ 155 (-12.92%)
Mutual labels:  glsl
Gaiasky
Mirror of Gaia Sky repository hosted on Gitlab: https://gitlab.com/langurmonkey/gaiasky
Stars: ✭ 162 (-8.99%)
Mutual labels:  glsl
Fragment
Live Code Graphics via GLSL Fragment Shaders
Stars: ✭ 166 (-6.74%)
Mutual labels:  glsl
Twigl
twigl.app is an online editor for One tweet shader, with gif generator and sound shader, and broadcast live coding.
Stars: ✭ 145 (-18.54%)
Mutual labels:  glsl
Filters4processing
Useful GLSL filters adapted for Processing
Stars: ✭ 177 (-0.56%)
Mutual labels:  glsl
Starwars.android
This component implements transition animation to crumble view into tiny pieces.
Stars: ✭ 1,942 (+991.01%)
Mutual labels:  glsl
Shader Printf
Simple printf functionality for GLSL.
Stars: ✭ 170 (-4.49%)
Mutual labels:  glsl
Glsl Godrays
This module implements a volumetric light scattering effect(godrays)
Stars: ✭ 155 (-12.92%)
Mutual labels:  glsl
Soicbite
A compact PCB footprint which allows SOIC test clips to be used as a space-efficient programming and debugging connector
Stars: ✭ 161 (-9.55%)
Mutual labels:  glsl
Processing Shader Examples
A collection of GLSL shaders and how to use them in Processing sketches
Stars: ✭ 167 (-6.18%)
Mutual labels:  glsl
Reshade
A generic post-processing injector for games and video software.
Stars: ✭ 2,285 (+1183.71%)
Mutual labels:  glsl
Spirv Vm
Virtual machine for executing SPIR-V
Stars: ✭ 173 (-2.81%)
Mutual labels:  glsl
Glsl Sdf Primitives
A bunch of distance field primitives for ray marching
Stars: ✭ 152 (-14.61%)
Mutual labels:  glsl
Shadertoy lab
✏️ Test some shadertoy examples in Unity.
Stars: ✭ 164 (-7.87%)
Mutual labels:  glsl
Hsva Unity
A Hue Saturation Value adjustment shader for Unity. Useful for making lots of character colors.
Stars: ✭ 177 (-0.56%)
Mutual labels:  glsl
React Regl
React Fiber Reconciler Renderer for Regl WebGL
Stars: ✭ 171 (-3.93%)
Mutual labels:  glsl
Glsltuto
GLSL shaders tutorial
Stars: ✭ 168 (-5.62%)
Mutual labels:  glsl

Unity 3D metaballs

Unity 3D implementation of marching cubes algorithm for rendering metaballs. Metaballs can be used for gameplay purposes (gels in Valve's Portal 2), or as a decoration, as shown in the image below. They can also be used to visualise various fields in physics (for example, each metaball can represent single point charge, and electrostatic potetial due to point charge equation can be used as a falloff function).

Metaball functions are evaluated on GPU. Falloff functions can be chosen in the compute shader with a define statements. Marching cubes algorithm partially executes on GPU and partially on CPU.

Thanks to Filip Ugrin for providing 3d models for example scene!

TODO list:

  • move marching cubes algorithm to GPU partially moved marching cubes to compute shader, but there is still room for improvement
  • implement some kind of subdivision smoothing algorithm
  • create example scene with rigidbody metaballs
  • create example scene with electric potential visualization

References:

  • William E. Lorensen and Harvey E. Cline. 1987. Marching cubes: A high resolution 3D surface construction algorithm. In Proceedings of the 14th annual conference on Computer graphics and interactive techniques (SIGGRAPH '87), Maureen C. Stone (Ed.). ACM, New York, NY, USA, 163-169.
  • Marching cubes lookup tables taken from here: http://www.paulsprojects.net/opengl/metaballs/metaballs.html
  • Brian Wyvill and Geoff Wyvill. Field functions for implicit surfaces. The Visual Computer, 5:75–82, December 1989.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].