-
You don’t extend shaders, but you can make multiple passes via FBO rendering to an intermediate texture. Some of the “effects” I expose to users of my video engine are composite effects themselves made up of two or more passes internally. Basically you can make whatever architecture makes sense on the Java / control side as long as you are making separate passes rendering to a texture for each shader / IE “kernel”.
-
Not exactly sure what you mean by “can you have arrays”… So describe it better. That can mean many things I suppose.
For instance in OpenGL ES 3.0 you can have “texture arrays” I’m soon implementing that into the pipeline / engine to store the last X output frames rendered. This will allow easy access in shader code to say do actual real motion blurring with past frame data without having to pass in bespoke texture data as separate samplers; IE just one texture array is passed in…
Good to keep in mind. I haven’t gotten there yet as there are other engine upgrades to make first, but OpenGL ES 3.0 has sRGB textures and framebuffers so that you can address this problem… OpenGL ES 3.0 is well worth moving to if you can since it is a major update.