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]> > >
