Я пытаюсь реализовать простую функцию выбора, используя glReadPixels, однако, когда я нажимаю на объект, который имеет 1 цвет, я получаю разные значения обратно в зависимости от того, где я щелкнул по этому объекту? Там не специальное освещение и т. Д.? В чем дело? Иногда все нули возвращаются. Я выключил все (текстуры и т. Д.), Но все равно не радуюсь.
Я думал, что эта функция возвращает цвет пикселя, на котором вы щелкнули?
- (void)getPixelColour:(CGPoint)point {
Byte pixelColour[4];
glReadPixels(point.x, point.y, 1, 1, GL_RGBA, GL_UNSIGNED_BYTE, &pixelColour);
NSLog(@"%d %d %d", pixelColour[0], pixelColour[1], pixelColour[2]);
}
Обновление: добавлено, чтобы это исправить:
glGetIntegerv( GL_VIEWPORT, __viewport );
point.y = (float)__viewport[3] - point.y;