Я хочу преобразовать текущие координаты X и Y мыши в трехмерное пространство, которое я нарисовал в окне просмотра. Мне нужно сделать это на платформе OpenGL ES. Я нашел следующие возможные решения, реализованные в OpenGL, но ни одно из них не подходит для того, что я ищу.
Я нашел руководство NeHe о том, как сделать именно это, но традиционным способом OpenGL. Он использует gluUnProject. http://nehe.gamedev.net/data/articles/article.asp?article=13 Хотя gluUnProject недоступен в OpenGL ES, его реализация кажется достаточно простой, чтобы ее можно было перенести обратно. Но перед его вызовом нам нужно вызвать glReadPixels с GL_DEPTH_COMPONENT, а это невозможно в OpenGL ES. (Причина, по которой я нашел в этой теме: http://www.khronos.org/message_boards/viewtopic.php?f=4&t=771).
То, что я хочу сделать, похоже на выбор, за исключением того, что я не хочу выбирать объект, но мне нужны точные координаты, чтобы я мог распознать конкретную часть объекта, которая в данный момент находится под курсором мыши. В этом ответе я просмотрел руководства по выбору. https://stackoverflow.com/posts/2211312/revisions Но им нужен glRenderMode, который, как мне кажется, отсутствует в OpenGL ES .
Если вы знаете, как решить эту проблему в OpenGL ES, дайте мне знать.
Спасибо.