Чтобы координаты мыши и окна в OpenGL совпадали по оси Y, можно использовать следующий подход: 1
- Получить координаты курсора в клиентской области окна, например, с помощью функций GetCursorPos и ScreenToClient на WinAPI. 5
- Перейти от клиентской области к области вьюпорта через дополненную 2х2 матрицу трансформаций 2D-пространства. 5
- Преобразовать координаты курсора из пространства области отсечения в пространство сцены с помощью инверсии матрицы View-Projection. 5 Для этого потребуется знать положение и размер окна. 5
Также можно использовать функцию, которая возвращает размеры окна, и подставлять в программу число, зависящее от размера окна по вертикали. 2