/*#define TEST_GROUP */ #include #include #include #include ClutterActor* make_source(void) { ClutterActor *source, *actor; GdkPixbuf *pixbuf; GError *error = NULL; ClutterColor yellow = {0xff, 0xff, 0x00, 0xff}; pixbuf = gdk_pixbuf_new_from_file ("redhand.png", &error); if (!pixbuf) g_error("pixbuf load failed: %s", error ? error->message : "Unknown"); source = clutter_group_new(); actor = clutter_texture_new_from_pixbuf (pixbuf); clutter_group_add (source, actor); actor = clutter_label_new_with_text ("Sans Bold 50px", "Clutter"); clutter_label_set_color (CLUTTER_LABEL (actor), &yellow); clutter_actor_set_y (actor, clutter_actor_get_height(source) + 5); clutter_group_add (source, actor); return source; } ClutterShader* make_shader(void) { ClutterShader *shader; shader = clutter_shader_new (); clutter_shader_set_fragment_source (shader, "uniform float radius ;" "uniform sampler2DRect rectTexture;" "" "void main()" "{" " vec4 color = texture2DRect(rectTexture, gl_TexCoord[0].st);" " float u;" " float v;" " int count = 1;" " for (u=-radius;u