Natan Sinigaglia's profile

ParticlesGPU library - Pipes

Digital Art
Since i started to work on shaders in late 2008, i found many interesting possibilities offered by the GPU in terms of realtime complex geometry management.Starting from simple particle symulations i tried to apply common principles (like realtime texture generation) in new ways, such as generating and controlling high density meshes.
This research gave me all the instruments i needed to build the graphic world of projects like Genesi , Les Objets Impossibles , Partitura .

I published my shader library as a contribution to the community of vvvv, the programming environment i use.
Pipes

After playing a bit with simple GPU particles i tried to use GPU power to control complex geometries.
Once i found a way to put all data i needed in a realtime generated float texture, i could use it to splite and place the vertices of a precomputed mesh containing all the pipes; this avoid the famous draw call bottleneck of the GPU,  since all the elements are a single mesh and they are called just once.

The main thing is just to generate a control texture using any algorithm (that will describe the final behaviour of the mesh) and feed the shader that draw the geometry.

Here i used verlet integration algorithm to generate floating tubes behaviour:
Here i used verlet integration algorithm to generate floating tubes behaviour:
Another example of texture control generation: spring simulation
another funky behaviour: queue
you just need to drive the head of the pipe and write new segment each frame.
Looking for b-spline smooth tubes i came up with this behaviour, that allow to extrude the pipe along a given path
Evolving this principle i build the spline elements you can see in partitura project
Here some Partitura tests during a development session (august 2011 ):
ParticlesGPU library - Pipes
Published:

ParticlesGPU library - Pipes

Technical research focused on complex graphic elements generation via GPU

Published: