В связи с неудобством работы с клавиатурой для перемещения по игровому полю и большим количеством глюков при вводе с клавиатуры стрелками и кнопкой Enter, из-за которых работа стоит практически с лета, я решил отказаться от клавиатуры и использовать для перемещиния по полю мышь с самонарисованным курсором. Но! Проблема в том, что сцена у меня трехмерная, а мышь перемещается только в двухмерном режиме "по экрану".
Работа с проекциями провалилась, так как ничего не работало. У меня есть идея проверять пересечение нормали к экрану с клетками игрового поля, но при рисовании координаты сместились так, что отстледить и выяснить, куда именно провести прямую, что бы она была нормалью к экрану невозможно. Можно ли как-то перейти к глобальным координатам, чтоб нормалью к экрану была какоя-то ось, например z. Есть две функции:
glPushMatrix ();
она сохраняет координаты и
glPopMatrix ();
она возвращает координаты, сохраненные в предыдущей функции.
Можно ли так проверять нахождение курсора над клеткой поля или есть идеи лучше?