Первый комментарий заключается в том, что почти всегда это делается аналитически быстрее - направляя луч в мир. Этот комментарий в сторону ...
Вы должны назначить каждому лицу свой цвет для выбора, как и для любого другого вида рендеринга, будь то путем изменения того, что вы передаете на glColorPointer
(при использовании ES 1), или путем переключения на однопиксельную, одноцветную текстуру или любым другим способом. Если у вас включено освещение, обязательно отключите его.
Вы можете использовать glReadPixels
, чтобы прочитать цвет обратно из буфера кадра. На устройстве с сенсорным экраном вы, вероятно, захотите захватить, скажем, область 20x20 пикселей и выбрать тот цвет, который наиболее часто появляется в нем, или что-то в этом роде, потому что пальцы не очень точные.