Я делаю простую учебную игру с openGL и задаюсь вопросом о методе касания. Пожалуйста, проверка мой код:мышь прессовая проекция (C++ openGL)
Моя точка (0,0) находится в центре экрана:
void Init()
{
glClearColor(0.3,0.3,0.3,0.0);
glMatrixMode(GL_PROJECTION);
glOrtho(-400.0,400.0,-300.0,300.0,0,1.0); //сетка, середина в точке 0
}
До этого я вызов метода мыши:
glutPassiveMotionFunc(Mouse);
glutMouseFunc(MousePress);
И в методе MousePress когда прикосновение приближается, это другая системная координата с (0,0) точкой в верхнем левом углу экрана. Пожалуйста, вы можете лучше сказать мне, затем сделать что-то вроде x-300; y-400 в методе MousePress.
Возможно, вы ищете 'gluUnproject()'? Я не могу предоставить ссылку сейчас, мое соединение несколько неустойчивое :-( – Angew
спасибо, я посмотрю на функцию, но на мгновение я думаю, что лучший подход находится здесь:/ http://stackoverflow.com/a/13299602/2204866 Thokra, я пытаюсь сделать управление перетаскиванием для текстуры, взять текстуру и перемещаться по методу мыши. – gronzzz
Вы можете/должны также рассмотреть аналогичный вопрос, который я когда-то задавал. Http: // stackoverflow .com/questions/18244678/3d-ray-picking-use-mouse-coord-when-mouse-isnt-locked – Vallentin