Excerpts from Rajith Kalluraya's message of Thu Jan 07 19:48:36 +0000 2010:
>Thanks Emmanuele.
>
>I tried using cairo rectangles. Antilaliasing within the area contained by
>my drawing area of the actor is taken care of.
>
>But aliasing along the edges of my actor is still present. This happens with
>normal Clutter Textures tilted in one of the axes too.
Hi Rajith,
Eventually we will expose support for multisampling (for GPUs that
support it) via the CoglFramebuffer API and this may improve the jaggies
you are seeing. Depending on how much of a performance hit you are able
to take then you can try manual supersampling to reduce aliasing by
basically rendering your scene at 4x the resolution off your screen into
an FBO and then rely on texture sampling to scale it down.
E.g. here is an outline for how this can be achieved if running with git
master. (I'm not sure I'd try this with clutter 1.0 since the
cogl framebuffer code is was rather broken)
/* Currently Cogl only support offscreen rendering to a texture... */
texture = cogl_texture_new_with_size (width * 2, height * 2,
COGL_TEXTURE_NO_SLICING,
COGL_PIXEL_FORMAT_ANY);
offscreen = cogl_offscreen_new_to_texture (texture);
cogl_push_framebuffer (offscreen);
<draw stuff here>
cogl_pop_framebuffer ();
cogl_handle_unref (offscreen);
material = cogl_material_new ();
cogl_material_set_layer (material, 0, texture);
cogl_material_set_layer_filters
(material, 0,
COGL_MATERIAL_FILTER_LINEAR_MIPMAP_LINEAR,
COGL_MATERIAL_FILTER_LINEAR_MIPMAP_LINEAR);
cogl_set_source (material);
cogl_rectangle (0, 0, width, height);
cogl_handle_unref (texture);
cogl_handle_unref (material);
kind regards,
- Robert
--
Robert Bragg, Intel Open Source Technology Center
--
To unsubscribe send a mail to [email protected]