d4da3a3e2a
* clutter/cogl/gles/cogl-gles2-wrapper.c: All of the settings and uniforms are now proxied into COGL variables instead of setting the GL uniforms directly. Just before glDrawArrays is executed a shader is generated using the given settings to avoid using 'if' statements. The shaders are cached. * clutter/cogl/gles/cogl-fixed-vertex-shader.glsl: * clutter/cogl/gles/cogl-fixed-fragment-shader.glsl: The shaders are now split into parts using comments instead of 'if' statements so that the simplest shader can be generated on the fly. * clutter/cogl/gles/stringify.sh: Now splits up the shader sources into separate C strings where deliminated by special comments. * clutter/cogl/gles/cogl-program.h: * clutter/cogl/gles/cogl-program.c: A custom shader can no longer be directly linked with the fixed-functionality replacement because the replacement changes depending on the settings. Instead the bound shader is linked with the appropriate replacement shader just before glDrawArrays is executed. The custom uniform variables must also be proxied through COGL variables because their location can change when relinked. |
||
---|---|---|
.. | ||
cogl-context.c | ||
cogl-context.h | ||
cogl-defines.h.in | ||
cogl-fbo.c | ||
cogl-fbo.h | ||
cogl-fixed-fragment-shader.glsl | ||
cogl-fixed-vertex-shader.glsl | ||
cogl-gles2-wrapper.c | ||
cogl-gles2-wrapper.h | ||
cogl-internal.h | ||
cogl-primitives.c | ||
cogl-program.c | ||
cogl-program.h | ||
cogl-shader.c | ||
cogl-shader.h | ||
cogl-texture.c | ||
cogl-texture.h | ||
cogl-util.c | ||
cogl-util.h | ||
cogl.c | ||
Makefile.am | ||
stringify.sh |