hi;

I'm currently out of office to a conference, so I'm going to answer very
quickly...

On Tue, 2010-07-27 at 10:21 -0400, Alexandre Quessy wrote:

> 1) My first requirement is that we can set the texture data using a
> pointer to char*, like in
> http://github.com/aalex/proto-toonloop/blob/proto-gtkglext/src/gui.cpp
> on line 368. (that's where the interesting Toonloop development is
> hidden these days!)

ClutterTexture has the API to do exactly that:

• clutter_texture_set_from_rgb_data()
http://docs.clutter-project.org/docs/clutter/stable/ClutterTexture.html#clutter-texture-set-from-rgb-data

• clutter_texture_set_area_from_rgb_data() 
http://docs.clutter-project.org/docs/clutter/stable/ClutterTexture.html#clutter-texture-set-area-from-rgb-data

> 2) My second requirement, is that we can set the actor (the plane on
> which we draw the texture) can be automatically resized when the
> window is resized. (the units are in pixels in Clutter, which is not
> what I am used with) I know this is possible in Clutter.

it's possible. you can set the stage to be resizable and then use
notification on allocation changes. in Clutter 1.4 there will be a
ClutterBindConstraint and a ClutterAlignConstraint which allows to match
position/size and align actors depending on normalized (0.0 → 1.0)
values.

> 3) Third requirement: be able to resize the window, make it
> fullscreen, embed it in GTK+. Should be OK too in Clutter.

true. clutter-gtk is the library that allows that.

> 4) Fourth requirement: be able to use shaders with two textures fed to
> it. The idea is to blend two images together using the overlay mode.
> (the live input + the animation playback) That's what I am not sure at
> all about.

ClutterShader allows that - just create a ClutterTexture, get the
CoglMaterial out of it and set two CoglTextures as two separate material
layers. the layer number is also the texture sampler id.

> So far, GtkGlExt meets them all. For Clutter, they are probably all
> possible too, but it's not so obvious. The good point for Clutter, is
> that using GLSL shaders is quite easy with it. It wraps the low-level
> OpenGL calls in an elegant manner.

the interactive test suite has a lot of code that deals with the API;
some high level GL concepts are mapped in an object oriented way, but
they are relatively the same.

ciao,
 Emmanuele.

-- 
Emmanuele Bassi, Open Source Software Engineer
Intel Open Source Technology Center

-- 
To unsubscribe send a mail to clutter+unsubscr...@o-hand.com

Reply via email to