Я рисую символ PIE в Iphone, с OPENGL ES. Теперь мне нужно проверить цвет пирога, где пользователь нажал. Когда я нажимаю любой пирог, он иногда возвращает правильные значения, а иногда и не правильно, а иногда просто возвращает 0,0,0.Проблема с Iphone glReadPixels
«(пустоты) handleTap: (UITapGestureRecognizer *) распознаватель {
CGPoint lPoint = [распознаватель locationOfTouch: 0 INview: mGLView];
Байт aPixel [4]; glPixelStorei (GL_PACK_ALIGNMENT, 1); glReadPixels (lPoint.x, lPoint.y, 1, 1, GL_RGBA, GL_UNSIGNED_BYTE, & aPixel [0]);
NSLog (@ "% i", glGetError()); NSLog (@ "POINT X =% f Y =% f% d% d% d", lPoint.x, lPoint.y, aPixel [0], aPixel [1], aPixel [2]);
Хорошо, я изменился в соответствии с тем, что вы сказали, но это все еще не то же самое :( –
Там нет никакой возможности вы работаете на дисплее Retina есть? Если да, тогда будьте осторожны, потому что locationOfTouch: inVieW: возвращает местоположение в точках, а не в пикселях. В противном случае я предлагаю вам записывать значения под пальцем при его перемещении и посмотреть, можете ли вы определить, где на изображении пиксели на самом деле считываются, это будет некоторая несоответствие между координатами iOS и координатами OpenGL. – Tommy