iPhone OpenGL ES: glReadPixels не работает - PullRequest
1 голос
/ 17 декабря 2010

Я пытаюсь реализовать простую функцию выбора, используя 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;

1 Ответ

1 голос
/ 18 декабря 2010

glGetIntegerv (GL_VIEWPORT, _ область просмотра);
point.y = (float)
_viewport [3] - point.y;

...