We are about to switch to a new forum software. Until then we have removed the registration on this forum.
Hello, was wondering if anyone fancied pointing me in the right direction?
I have been researching Cellular Automata and have a sketch running in Eclipse that scrolls through iterations of a CA ruleset, however I have set the size of the cells to 2pixels in width as I would like the results to be really detailed but this makes the sketch run really slow. I am trying to speed up the running speed of my sketch.
I realise it is possible to implement Shaders to write straight to the GPU, and have been looking into it, but not sure if there is a good way to add shader to my CA sketch in Processing, and what shader would be useful, or whether I would need to write the whole App as a Shader(program)??
Quite new to all this, any help would be great!
thanks in advance :)
Answers
Hey - this is something that could probably be done in a fragment shader, depending on the complexity of your code. Fragment shaders are bits of code that run in parallel on your GPU and can be extremely fast at performing per-pixel operations. Without doing a ton of research, I came across this blog post, which seems like a good starting point.
The strategy above relies on the use of two framebuffer objects, otherwise known as PGraphics in Processing. By default, when you draw in Processing, you're drawing into a PGraphics object. But you can create other PGraphics objects to render into.
The shader basically does a bunch of texture reads to draw and animate a GPU version of Conway's Game of Life.
You might also look at this tutorial for more info on PGraphics.
Thanks mwalczyk!