Использование колеса прокрутки мыши в GLUT

Обратите внимание, что почтенная glut библиотека Nate Robin's GLUT не поддерживает scrollwheel колесо прокрутки. Но более scrollwheel поздние реализации GLUT, такие opengl как FreeGLUT, делают это.

Использовать glut колесо прокрутки в FreeGLUT opengl очень просто. Вот как:

Объявите glut функцию обратного вызова, которая opengl будет вызываться при каждом glut прокручивании колеса прокрутки. Это opengl прототип:

void mouseWheel(int, int, int, int);

Зарегистрируйте opengl обратный вызов с помощью scrollwheel функции (Free)GLUT glutMouseWheelFunc().

glutMouseWheelFunc(mouseWheel);

Определите opengl функцию обратного вызова. Второй scrollwheel параметр задает направление opengl прокрутки. Значения +1 вперед, -1 opengl назад.

void mouseWheel(int button, int dir, int x, int y)
{
    if (dir > 0)
    {
        // Zoom in
    }
    else
    {
        // Zoom out
    }

    return;
}

Всё!

opengl

glut

scrollwheel

2022-09-26T10:32:25+00:00