Для этого требуется много кода, и это также зависит от способа рендеринга объекта.
Используете ли вы конвейер фиксированных функций или шейдеры?
Какдля части мыши вам нужно обработать методы / события MouseDown, MouseMove и MouseUp, которые генерирует форма.Попробуйте понять, как работает мышь, просто нарисовав простое растровое изображение, которое можно перемещать с помощью мыши.Как только вы научитесь обрабатывать ввод с помощью мыши, измените ответ, чтобы обновить вращение объекта в зависимости от величины перемещения мыши по осям x / y / z.Старайтесь избегать использования обозначения Эйлера (угла) для поворота объекта, используйте матрицу и вместо этого вращайте матрицу.