So, last year I was playing with some shaders, curious what the GCW0 is capable of. I was thinking to keep these shaders and make a bigger shader benchmark or something, but since I don't think I'll work on this project anytime soon, I decided to release the source code and OPK for everyone who is curious to play with it.
The youtube video of this project:
The source and OPK:
I discovered a lot of mistakes in the shaders that might be a problem of the current drivers (but there are workarounds I used in this app). For example, sin/cos don't work, they return some noise. I used a 1D texture with precalced sine values here. Length of a vec2 or vec3 returns length of vec.x. Loops are not supported yet, so a for loop gets unrolled. And the shader program size cannot be very big, that's why the Julia Fractal has not enough iterations.
But the shaders seem quite fast for what they are doing (also because resolution is small compared to mobile phones having similar GPU). There is an automatic vsync I don't know how to disable, so you always get 60fps. But it can go much more. I did many more tests, by rendering the same fractal or blobs twice or more and still I was into 60fps (loop unrolling doesn't let me add more blobs in the shader or more fracal iterations, so I sort of test this way). The last effect is analytical raytracing of one sphere and I could try to add more next time. I am also curious to try for my next experiment some lighting model on 3d objects. I think for nice shiny surfaces this will be more than enough. Afterall, I realized, in OpenGL ES 2.0, you have to write simple shaders even for writting a triangle on the screen.