Robert Bragg
5f30835eae
cogl-shader: Prepend boilerplate for portable shaders
...
We now prepend a set of defines to any given GLSL shader so that we can
define builtin uniforms/attributes within the "cogl" namespace that we
can use to provide compatibility across a range of the earlier versions
of GLSL.
This updates test-cogl-shader-glsl.c and test-shader.c so they no longer
needs to special case GLES vs GL when splicing together its shaders as
well as the blur, colorize and desaturate effects.
To get a feel for the new, portable uniform/attribute names here are the
defines for OpenGL vertex shaders:
#define cogl_position_in gl_Vertex
#define cogl_color_in gl_Color
#define cogl_tex_coord_in gl_MultiTexCoord0
#define cogl_tex_coord0_in gl_MultiTexCoord0
#define cogl_tex_coord1_in gl_MultiTexCoord1
#define cogl_tex_coord2_in gl_MultiTexCoord2
#define cogl_tex_coord3_in gl_MultiTexCoord3
#define cogl_tex_coord4_in gl_MultiTexCoord4
#define cogl_tex_coord5_in gl_MultiTexCoord5
#define cogl_tex_coord6_in gl_MultiTexCoord6
#define cogl_tex_coord7_in gl_MultiTexCoord7
#define cogl_normal_in gl_Normal
#define cogl_position_out gl_Position
#define cogl_point_size_out gl_PointSize
#define cogl_color_out gl_FrontColor
#define cogl_tex_coord_out gl_TexCoord
#define cogl_modelview_matrix gl_ModelViewMatrix
#define cogl_modelview_projection_matrix gl_ModelViewProjectionMatrix
#define cogl_projection_matrix gl_ProjectionMatrix
#define cogl_texture_matrix gl_TextureMatrix
And for fragment shaders we have:
#define cogl_color_in gl_Color
#define cogl_tex_coord_in gl_TexCoord
#define cogl_color_out gl_FragColor
#define cogl_depth_out gl_FragDepth
#define cogl_front_facing gl_FrontFacing
2010-11-10 14:24:52 +00:00
..
2010-10-25 13:18:25 +01:00
2010-11-10 14:24:52 +00:00
2010-10-21 12:22:17 +01:00
2010-10-21 12:22:17 +01:00
2010-10-21 12:22:17 +01:00
2010-10-21 12:22:17 +01:00
2010-10-21 12:22:17 +01:00
2010-11-01 15:21:04 +00:00
2010-10-25 23:44:53 +01:00
2010-05-26 14:09:24 +01:00
2010-05-20 11:19:51 +01:00
2010-10-25 23:44:53 +01:00
2010-10-21 13:13:00 +01:00
2010-10-21 13:13:00 +01:00
2010-10-21 13:13:00 +01:00
2010-10-21 13:13:00 +01:00
2010-11-05 17:22:05 +00:00
2010-10-04 11:26:46 +01:00
2010-10-18 11:26:45 +01:00
2010-09-13 15:45:55 +01:00
2010-10-18 11:26:45 +01:00
2009-01-20 18:47:50 +00:00
2010-10-18 11:26:44 +01:00
2010-07-31 10:56:09 +01:00
2010-10-18 11:26:45 +01:00
2010-09-10 11:18:53 +01:00
2010-10-21 12:22:17 +01:00
2010-06-07 14:22:26 +01:00
2010-10-21 13:13:00 +01:00
2010-10-21 12:22:17 +01:00
2010-10-21 12:22:17 +01:00
2010-09-09 16:34:21 +01:00
2009-03-16 15:00:55 +00:00
2010-10-21 12:22:17 +01:00
2009-06-19 16:38:35 +01:00
2010-09-09 16:34:21 +01:00
2010-04-22 16:39:18 +01:00
2010-09-09 16:34:21 +01:00
2009-11-19 11:51:21 +00:00
2010-09-09 16:34:21 +01:00
2009-06-19 16:38:35 +01:00
2010-09-09 16:34:21 +01:00
2009-06-19 16:38:35 +01:00
2010-10-18 11:26:45 +01:00
2009-01-20 16:42:49 +00:00
2010-06-01 12:08:18 +01:00
2008-12-05 13:13:37 +00:00
2010-10-18 11:26:45 +01:00
2009-10-14 11:31:29 +01:00
2010-10-21 12:22:17 +01:00
2010-09-17 12:17:50 +01:00
2010-10-25 00:39:13 +01:00
2009-01-14 15:03:30 +00:00
2010-11-10 14:24:52 +00:00
2010-06-03 14:10:55 +01:00
2010-10-08 13:29:49 +01:00
2010-03-25 09:41:54 +00:00
2010-10-18 11:26:45 +01:00
2010-03-02 11:12:32 +00:00
2010-11-08 16:01:19 +00:00
2010-11-08 16:01:19 +00:00
2010-10-18 11:26:45 +01:00
2009-03-16 15:00:55 +00:00
2010-10-18 11:26:45 +01:00
2010-08-26 16:39:39 +01:00
2010-11-01 12:16:53 +00:00
2009-03-16 15:00:55 +00:00
2010-10-18 11:26:45 +01:00
2010-10-11 15:39:19 +01:00
2010-11-10 14:24:52 +00:00
2010-06-03 14:10:55 +01:00
2010-09-17 14:54:31 +01:00
2010-09-17 12:17:50 +01:00
2010-10-18 11:26:45 +01:00
2010-09-30 14:58:23 +01:00
2010-10-19 01:42:19 +01:00
2010-10-18 11:26:45 +01:00
2010-06-10 18:40:29 +01:00
2009-07-21 09:22:38 +01:00
2010-11-10 14:24:52 +00:00
2010-06-03 14:10:55 +01:00
2010-10-21 13:13:00 +01:00
2010-10-21 12:22:17 +01:00
2010-03-02 11:12:32 +00:00
2010-10-18 11:26:45 +01:00
2010-09-07 10:40:49 +01:00
2010-09-29 15:12:57 +01:00
2010-10-04 11:30:32 +01:00
2009-05-29 12:40:23 +01:00
2007-08-20 20:16:15 +00:00
2010-10-21 12:22:17 +01:00
2010-09-13 15:45:55 +01:00
2010-10-21 12:22:17 +01:00
2010-02-15 19:03:37 +00:00
2010-06-07 22:40:34 +01:00
2009-10-14 11:31:29 +01:00
2010-09-08 17:04:21 +01:00
2009-03-10 12:38:04 +00:00
2010-10-18 11:26:45 +01:00
2009-10-14 11:31:30 +01:00
2010-11-06 20:11:16 +00:00
2010-11-06 20:11:16 +00:00
2010-09-29 15:12:57 +01:00
2009-04-08 18:19:46 +01:00
2010-03-01 12:56:10 +00:00
2008-10-30 17:04:34 +00:00
2010-10-21 12:22:17 +01:00
2010-02-17 18:21:50 +00:00
2010-10-25 00:31:36 +01:00
2010-05-24 15:06:14 +01:00
2010-09-10 17:54:52 +01:00
2008-06-10 06:37:46 +00:00
2010-09-10 17:54:52 +01:00
2010-09-10 17:54:52 +01:00
2010-10-18 11:26:45 +01:00
2009-12-13 01:23:54 +00:00
2010-08-10 17:12:06 +01:00
2009-12-02 11:36:25 +00:00
2010-09-08 16:41:47 +01:00
2009-02-14 11:31:00 +00:00
2010-11-08 16:45:15 +00:00
2010-11-06 20:11:16 +00:00
2010-11-07 21:35:40 +00:00
2010-10-21 12:22:17 +01:00
2009-07-10 11:38:42 +01:00
2010-10-18 11:26:44 +01:00
2010-05-19 16:10:05 +01:00
2009-05-05 20:18:28 +01:00
2010-09-08 16:41:47 +01:00
2009-05-20 16:06:09 +01:00
2010-10-21 12:22:17 +01:00
2010-09-01 18:05:53 +01:00
2010-10-21 12:22:17 +01:00
2010-06-10 18:40:29 +01:00
2010-10-21 13:13:00 +01:00
2010-10-21 12:22:17 +01:00
2010-11-07 21:35:40 +00:00
2010-10-25 16:09:40 +01:00
2010-10-21 12:22:17 +01:00
2009-10-06 10:43:41 +01:00
2010-11-06 20:11:16 +00:00
2010-09-14 12:43:16 +01:00
2010-09-14 12:43:16 +01:00
2010-10-21 12:22:17 +01:00
2009-03-16 15:00:55 +00:00
2010-09-08 16:41:47 +01:00
2009-03-16 15:00:55 +00:00
2010-10-19 01:42:19 +01:00
2010-10-19 01:42:19 +01:00
2010-10-19 01:42:19 +01:00
2009-03-16 15:00:55 +00:00
2010-10-18 11:26:44 +01:00
2010-09-29 15:57:28 +01:00
2010-08-10 17:12:06 +01:00
2010-06-21 15:55:36 +01:00
2010-10-19 01:42:19 +01:00
2010-06-03 14:34:41 +01:00
2010-06-16 17:14:57 +01:00
2009-05-12 14:53:44 +01:00
2010-09-03 12:14:50 +01:00
2009-04-03 12:47:21 +01:00
2010-10-21 13:13:00 +01:00
2010-10-21 11:30:19 +01:00
2010-05-19 16:10:05 +01:00
2010-11-08 16:45:15 +00:00
2010-10-18 11:26:44 +01:00
2010-09-08 16:41:47 +01:00
2010-11-08 16:45:15 +00:00
2010-07-13 14:57:48 +01:00
2010-10-25 17:21:20 +01:00
2010-10-18 11:26:45 +01:00
2010-10-08 12:11:39 +01:00
2010-09-23 15:17:58 +01:00
2010-10-21 12:22:17 +01:00
2010-02-03 14:38:13 +00:00
2010-11-01 11:43:35 +00:00
2010-05-28 16:07:17 +01:00
2010-10-18 11:26:45 +01:00
2009-06-19 16:38:35 +01:00
2010-02-01 10:40:34 +00:00
2009-03-16 15:40:18 +00:00
2010-11-08 15:52:17 +00:00
2010-11-08 15:52:17 +00:00
2010-10-25 15:45:35 +01:00
2010-10-21 12:22:17 +01:00
2009-10-16 15:25:37 +01:00
2010-09-29 15:13:00 +01:00
2010-02-06 10:49:33 +00:00
2010-03-02 11:12:32 +00:00
2010-10-25 15:46:04 +01:00
2010-09-29 14:40:15 +01:00
2010-11-07 15:27:17 +00:00