ext Matthew Allum wrote:
>
>
> Every actor has a unique ID which during this translation is converted
> into a color value and each actor (offscreen) paints a silhouette of
> itself in this color. The pixel at the requested pos is then read from
> the framebuffer and its color then mapped back to the target actor.
> See _clutter_do_pick in clutter-main.c . It probably worth adding some
> debug stuff to that function to see what color is being read back and
> maybe even dumping a full readpixels of the framebuffer to disk to check
> exactly what is getting painted.
>
I put some debug there:
/* Calls should work under both GL and GLES, note GLES needs RGBA */
glGetIntegerv(GL_VIEWPORT, viewport);
glReadPixels(x, viewport[3] - y, 1, 1, GL_RGBA, GL_UNSIGNED_BYTE, pixel);
printf("_clutter_do_pick(%3d,%3d,%3d) vp[%3d,%3d,%3d,%3d]
pixel[%02x,%02x,%02x]\n",
x,y,viewport[3]-y,
viewport[0],viewport[1],viewport[2],viewport[3],
pixel[0],pixel[1],pixel[2]);
And il looks alike there in some problem geting right pixel value
_clutter_do_pick(162, 86,394) vp[ 0, 0,640,480] pixel[20,56,01]
_clutter_do_pick(162, 86) id=000022b0
[stage] MOTION *source*
_clutter_do_pick(298, 85,395) vp[ 0, 0,640,480] pixel[20,56,01]
_clutter_do_pick(298, 85) id=000022b0
_clutter_do_pick(293, 83,397) vp[ 0, 0,640,480] pixel[20,56,01]
_clutter_do_pick(293, 83) id=000022b0
[stage] MOTION *source*
_clutter_do_pick(458, 86,394) vp[ 0, 0,640,480] pixel[20,56,01]
_clutter_do_pick(458, 86) id=000022b0
_clutter_do_pick(453, 82,398) vp[ 0, 0,640,480] pixel[20,56,01]
_clutter_do_pick(453, 82) id=000022b0
[stage] MOTION *source*
_clutter_do_pick(367,166,314) vp[ 0, 0,640,480] pixel[20,56,01]
_clutter_do_pick(367,166) id=000022b0
_clutter_do_pick(365,166,314) vp[ 0, 0,640,480] pixel[20,56,01]
_clutter_do_pick(365,166) id=000022b0
It aalways picks some garbage in pixel values. In this trace
i hit red, green, blue and then white background.
It looks that it may be bug in eglx library of screen drawable rendering ?
Kate
--
To unsubscribe send a mail to [EMAIL PROTECTED]