- 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.
- PipesAfter 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 ):