From cbd6e047dd61ac7ceb47996346ded26d52e6d6d0 Mon Sep 17 00:00:00 2001 From: Damien Lespiau Date: Thu, 5 Aug 2010 10:58:42 +0100 Subject: [PATCH] cookbook: Add a recipe on how to create sub-textures Fiddle with Cogl textures to create a new ClutterTexture that only displays a rectangular region of a bigger ClutterTexture. --- doc/cookbook/Makefile.am | 2 + doc/cookbook/examples/.gitignore | 4 +- doc/cookbook/examples/Makefile.am | 16 +- doc/cookbook/examples/smiley.png | Bin 0 -> 2856 bytes doc/cookbook/examples/textures-split-go.c | 184 +++++++++++++++++++ doc/cookbook/examples/textures-sub-texture.c | 60 ++++++ doc/cookbook/images/textures-sub-texture.png | Bin 0 -> 4664 bytes doc/cookbook/textures.xml | 136 ++++++++++++++ doc/cookbook/videos/textures-split-go.ogv | Bin 0 -> 89625 bytes 9 files changed, 394 insertions(+), 8 deletions(-) create mode 100644 doc/cookbook/examples/smiley.png create mode 100644 doc/cookbook/examples/textures-split-go.c create mode 100644 doc/cookbook/examples/textures-sub-texture.c create mode 100644 doc/cookbook/images/textures-sub-texture.png create mode 100644 doc/cookbook/videos/textures-split-go.ogv diff --git a/doc/cookbook/Makefile.am b/doc/cookbook/Makefile.am index 7239f91c7..e2956317d 100644 --- a/doc/cookbook/Makefile.am +++ b/doc/cookbook/Makefile.am @@ -35,6 +35,7 @@ IMAGE_FILES = \ images/actors-opacity.png \ images/actors-opacity-container-affects-opacity.png \ images/text-shadow.png \ + images/textures-sub-texture.png \ $(NULL) VIDEO_FILES = \ videos/animations-fading-out.ogv \ @@ -48,6 +49,7 @@ VIDEO_FILES = \ videos/animations-rotating-y-centered.ogv \ videos/animations-rotating-z-centered.ogv \ videos/animations-rotating-container-reverses-direction.ogv \ + videos/textures-split-go.ogv \ $(NULL) EXTRA_DIST = \ diff --git a/doc/cookbook/examples/.gitignore b/doc/cookbook/examples/.gitignore index b07d1113b..af4ba9caf 100644 --- a/doc/cookbook/examples/.gitignore +++ b/doc/cookbook/examples/.gitignore @@ -1,3 +1,5 @@ +/animations-rotating /text-shadow /textures-reflection -/animations-rotating +/textures-split-go +/textures-sub-texture diff --git a/doc/cookbook/examples/Makefile.am b/doc/cookbook/examples/Makefile.am index 1ac230b19..662786ead 100644 --- a/doc/cookbook/examples/Makefile.am +++ b/doc/cookbook/examples/Makefile.am @@ -3,9 +3,11 @@ include $(top_srcdir)/build/autotools/Makefile.am.silent NULL = noinst_PROGRAMS = \ - textures-reflection \ + animations-rotating \ text-shadow \ - animations-rotating \ + textures-reflection \ + textures-split-go \ + textures-sub-texture \ $(NULL) INCLUDES = \ @@ -27,8 +29,8 @@ AM_CFLAGS = \ AM_LDFLAGS = $(CLUTTER_LIBS) -textures_reflection_SOURCES = textures-reflection.c - -text_shadow_SOURCES = text-shadow.c - -animations_rotating_SOURCE = animations-rotating.c +animations_rotating_SOURCES = animations-rotating.c +text_shadow_SOURCES = text-shadow.c +textures_reflection_SOURCES = textures-reflection.c +textures_split_go_SOURCES = textures-split-go.c +textures_sub_texture_SOURCES = textures-sub-texture.c diff --git a/doc/cookbook/examples/smiley.png b/doc/cookbook/examples/smiley.png new file mode 100644 index 0000000000000000000000000000000000000000..5bcc67a2d0d1a3258628825a0adedf2667ac275e GIT binary patch literal 2856 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 JzUIP9|35ASk*fdz literal 0 HcmV?d00001 diff --git a/doc/cookbook/examples/textures-split-go.c b/doc/cookbook/examples/textures-split-go.c new file mode 100644 index 000000000..940e9f1cc --- /dev/null +++ b/doc/cookbook/examples/textures-split-go.c @@ -0,0 +1,184 @@ +#include + +/* Context will be used to carry interesting variables between functions */ +typedef struct +{ + ClutterActor *sub_no, *sub_ne, *sub_so, *sub_se; + gfloat image_width, image_height; +} Context; + +/* Here, we animate the texture to go way by giving the new coordinates + * outside of the stage. We rotate the sub-textures around their anchor + * point (set in setup_sub() as well, it looks cool. */ +static gboolean +go_away (gpointer data) +{ + Context *context = data; + + clutter_actor_animate (context->sub_no, CLUTTER_EASE_OUT_CUBIC, 1500, + "x", -context->image_width, + "y", -context->image_height, + "rotation-angle-z", 2000., + NULL); + clutter_actor_animate (context->sub_ne, CLUTTER_EASE_OUT_CUBIC, 1500, + "x", +context->image_width, + "y", -context->image_height, + "rotation-angle-z", 2000., + NULL); + clutter_actor_animate (context->sub_so, CLUTTER_EASE_OUT_CUBIC, 1500, + "x", -context->image_width, + "y", +context->image_height, + "rotation-angle-z", 2000., + NULL); + clutter_actor_animate (context->sub_se, CLUTTER_EASE_OUT_CUBIC, 1500, + "x", -context->image_width, + "y", +context->image_height, + "rotation-angle-z", 2000., + NULL); + return FALSE; /* remove the timeout source */ +} + +/* We split the four sub-textures faking to be the big texture, moving them + * away by 10 pixels in each direction */ +static gboolean +split (gpointer data) +{ + Context *context = data; + gfloat x, y; + + clutter_actor_get_position (context->sub_no, &x, &y); + clutter_actor_animate (context->sub_no, CLUTTER_EASE_OUT_CUBIC, 300, + "x", x - 10, + "y", y - 10, + NULL); + clutter_actor_get_position (context->sub_ne, &x, &y); + clutter_actor_animate (context->sub_ne, CLUTTER_EASE_OUT_CUBIC, 300, + "x", x + 10, + "y", y - 10, + NULL); + clutter_actor_get_position (context->sub_so, &x, &y); + clutter_actor_animate (context->sub_so, CLUTTER_EASE_OUT_CUBIC, 300, + "x", x - 10, + "y", y + 10, + NULL); + clutter_actor_get_position (context->sub_se, &x, &y); + clutter_actor_animate (context->sub_se, CLUTTER_EASE_OUT_CUBIC, 300, + "x", x + 10, + "y", y + 10, + NULL); + + /* In 500ms the textures will flee! */ + g_timeout_add (500, go_away, context); + + return FALSE; /* remove the timeout source */ +} + +static ClutterActor * +setup_sub (CoglHandle texture, + gint image_width, + gint image_height, + gint t_x, + gint t_y, + gint t_width, + gint t_height) +{ + CoglHandle sub_texture; + ClutterActor *sub_image; + + /* Create a new sub-texture from textures */ + sub_texture = cogl_texture_new_from_sub_texture (texture, + t_x, t_y, + t_width, t_height); + + /* Create the corresponding ClutterTexture */ + sub_image = g_object_new (CLUTTER_TYPE_TEXTURE, + "cogl-texture", sub_texture, + NULL); + + /* Set the anchor point in the middle of each sub_image so the position and + * rotation of the textures are relative to that point */ + clutter_actor_set_anchor_point (sub_image, image_width / 4, image_height / 4); + + return sub_image; +} + +#define IMAGE "smiley.png" + +int +main (int argc, + char **argv) +{ + gfloat image_width, image_height, stage_width, stage_height; + ClutterActor *stage, *image; + GError *error = NULL; + CoglHandle texture; + Context context; + + clutter_init (NULL, NULL); + + stage = clutter_stage_get_default (); + clutter_actor_get_size (stage, &stage_width, &stage_height); + clutter_stage_set_title (CLUTTER_STAGE (stage), "Animate sub-textures"); + + /* Load smiley.png, creating a new ClutterTexture, get its size and the + * Cogl texture handle */ + image = clutter_texture_new_from_file (IMAGE, &error); + if (error != NULL) + { + g_warning ("Could not load " IMAGE ": %s", error->message); + g_clear_error (&error); + return 1; + } + clutter_actor_get_size (image, &image_width, &image_height); + texture = clutter_texture_get_cogl_texture (CLUTTER_TEXTURE (image)); + + /* Create four sub-textures from image, actually splitting the image in + * four */ + context.sub_no = setup_sub (texture, image_width, image_height, + 0, 0, image_width / 2 , image_width / 2); + context.sub_ne = setup_sub (texture, image_width, image_height, + image_width / 2 , 0, + image_width / 2, image_width / 2); + context.sub_so = setup_sub (texture, image_width, image_height, + 0.f, image_width / 2, + image_width / 2, image_width / 2); + context.sub_se = setup_sub (texture, image_width, image_height, + image_width / 2, image_width / 2, + image_width / 2, image_width / 2); + + /* We don't need the image anymore as we won't display it and as + * cogl_texture_new_from_sub_texture() keeps a reference to the underlying + * texture ressource */ + g_object_unref (image); + + /* Position the sub-texures in the middle of the screen, recreating the + * original texture */ + clutter_actor_set_position (context.sub_no, + stage_width / 2 - image_width / 4, + stage_height / 2 - image_height / 4); + clutter_actor_set_position (context.sub_ne, + stage_width / 2 + image_width / 4, + stage_height / 2 - image_height / 4); + clutter_actor_set_position (context.sub_so, + stage_width / 2 - image_width / 4, + stage_height / 2 + image_height / 4); + clutter_actor_set_position (context.sub_se, + stage_width / 2 + image_width / 4, + stage_height / 2 + image_height / 4); + + /* Add the four sub-textures to the stage */ + clutter_container_add (CLUTTER_CONTAINER (stage), context.sub_no, + context.sub_ne, context.sub_so, context.sub_se, NULL); + + clutter_actor_show_all (stage); + + context.image_width = image_width; + context.image_height = image_height; + + /* In two seconds, we'll split the texture! */ + g_timeout_add_seconds (2, split, &context); + + clutter_main (); + + return 0; +} diff --git a/doc/cookbook/examples/textures-sub-texture.c b/doc/cookbook/examples/textures-sub-texture.c new file mode 100644 index 000000000..0d6075cdb --- /dev/null +++ b/doc/cookbook/examples/textures-sub-texture.c @@ -0,0 +1,60 @@ +#include + +int +main (int argc, char **argv) +{ + ClutterActor *stage, *image, *sub_image; + CoglHandle texture, sub_texture; + gfloat image_width, image_height; + + /* Initialize Clutter */ + clutter_init (NULL, NULL); + + /* Get the default stage */ + stage = clutter_stage_get_default (); + clutter_stage_set_title (CLUTTER_STAGE (stage), "Sub-texture"); + + /* Create a new ClutterTexture that shows smiley.png */ + image = clutter_texture_new_from_file ("smiley.png", NULL); + clutter_actor_get_size (image, &image_width, &image_height); + clutter_actor_set_size (stage, + image_width * 3 / 2 + 30, + image_height + 20); + + /* Grab the CoglHandle of the underlying Cogl texture */ + texture = clutter_texture_get_cogl_texture (CLUTTER_TEXTURE (image)); + + /* Create a new Cogl texture from the handle above. That new texture is a + * rectangular region from image, more precisely the north ouest corner + * of the image */ + sub_texture = cogl_texture_new_from_sub_texture (texture, + 0, 0, + image_width / 2, + image_height / 2); + + /* Finally, use the newly created Cogl texture to feed a new ClutterTexture + * and thus create a new actor that displays sub_texture */ + sub_image = clutter_texture_new (); + clutter_texture_set_cogl_texture (CLUTTER_TEXTURE (sub_image), sub_texture); + + /* + * You could have used the more straightforward g_object_new() function that + * can create an object and set some properties on it at the same time: + * sub_image = g_object_new (CLUTTER_TYPE_TEXTURE, + * "cogl-texture", sub_texture, + * NULL); + */ + + /* Put the original image at (10,10) and the new sub image next to it */ + clutter_actor_set_position (image, 10, 10); + clutter_actor_set_position (sub_image, 20 + image_width, 10); + + /* Add both ClutterTexture to the stage */ + clutter_container_add (CLUTTER_CONTAINER (stage), image, sub_image, NULL); + + clutter_actor_show_all (stage); + + clutter_main (); + + return 0; +} diff --git a/doc/cookbook/images/textures-sub-texture.png b/doc/cookbook/images/textures-sub-texture.png new file mode 100644 index 0000000000000000000000000000000000000000..5650a8fc02a16ce5e64147369df6c491fd0330a8 GIT binary patch literal 4664 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 +
+ Creating sub-textures from an existing texture + +
+ Problem + + You want to create a new ClutterTexture that only + displays a rectangular sub-region of an existing texture. +
+ +
+ Solution + + A possible way of achieving this is to retrieve the + CoglHandle of the underlying Cogl texture of the existing + ClutterTexture, create a new handle representing the + sub-region with cogl_texture_new_from_sub_texture() + and finally populate a new ClutterTexture with that handle. + + + + + + + + + + + + + + A texture and its sub-texture next to it + + + + +
+ +
+ Discussion + + The key of this recipe is the Cogl handle that represents the + underlying texture, the actual array of pixels the GPU will use + when it's told to texture geometry. + + From this handle, it's possible to create a new texture handle + that represents a rectangular region of the former texture. To do this + one must call cogl_texture_new_from_sub_texture() + with the position and size of the said region. The interesting bit + about this function is that, when drawing either with the original + texture or with the new one, it's still the same GPU resource (pixels) + being used, meaning that creating a sub-texture doesn't use extra GPU + memory. + + Once the sub-texture handle is created, the next step is + to create a new actor that will be able to draw it, namely a new + ClutterTexture. You then need to tell the texture to + draw from the sub-texture. + + The handle you can get from + clutter_texture_get_cogl_texture() is effectively + the same texture than the first layer of the material retrieved by + clutter_texture_get_cogl_material() + +
+ +
+ Full example + + + Creating a sub-texture from an existing texture + + FIXME: MISSING XINCLUDE CONTENT + + +
+ +
+ Going further + + Now that we know how to create sub-textures, it's time to make + something a bit more shiny with them. Let's animate them! In case you + have not heard about implicit animations in Clutter yet, it's a good + time to have a look at the animation section of this cookbook. + + + + + + + + Video showing 4 sub-textures being animated + + + + + Creating a sub-texture from an existing texture + + FIXME: MISSING XINCLUDE CONTENT + + +
+ +
+
Creating a reflection of a texture diff --git a/doc/cookbook/videos/textures-split-go.ogv b/doc/cookbook/videos/textures-split-go.ogv new file mode 100644 index 0000000000000000000000000000000000000000..b9e9e8da798d139b3bd2b53dc548d02d7ed1f8ce GIT binary patch literal 89625 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 Dr)bQY literal 0 HcmV?d00001