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

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

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

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

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

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

glutMouseWheelFunc(mouseWheel);

Определите glut функцию обратного вызова. Второй 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