The other GLES library which is returning you [00,00,18] on tapping Red
actor, are you able to detect events properly i.e. if I am tapping on a red
actor is _clutter_do_pick() returning you the correct actor id?

Binary representation of 0x18 is 1,1000. When I convert ff to RGB565 format,
it becomes 1111,1000 =>f8 & then the least 3 bits gets ignored.But for you,
it seems the most significant 3 bits got ignored and it became
0001,1000=>0x18

Therefore, to me i have a strong feeling that it is related to endianness
where it is messing up between the most significant 3 bits & least
significant 3 bits.

Regs,
Mustaf

On Wed, Mar 10, 2010 at 12:41 PM, Amit Pundir <[email protected]> wrote:

> Hi team,
>
> I'm facing an issue in which _clutter_do_pick() throws me the
> following infamous error when an incorrect pick color is read by
> glReadPixels.
>
> ---------------------------------------------------
> Error:
> "(./.libs/test-events:1635): Clutter-CRITICAL **:
> clutter_id_pool_lookup: assertion `id < id_pool->array->len' failed"
> ---------------------------------------------------
>
> I've been going through couple of bug reports being filed on this
> issue and got a decent overview of how Clutter pick actor colors based
> on glReadPixels() call.
>
> In my case glReadPixels() is returning me the actual actor colors i.e
> for a Red actor i'm reading [f8,00,00] which is Red in RGB565 format.
> Whereas the same working Clutter event example, with a different GLES
> librarry, gives me glReadPixels value as [00,00,18] on touching Red
> actor.
>
> What am I doing/interpreting wrong here?
> It would be really helpful if someone can guide me on correct
> behavior/implementation of glReadPixles() as well.
>
> Thanks for your concern.
> regards,
> Amit Pundir
> --
> To unsubscribe send a mail to 
> [email protected]<clutter%[email protected]>
>
>

Reply via email to