У меня есть некоторые 3D-объекты. Но я хочу повернуть только некоторые из них с эффектом поворота. Мне нужно повернуть объекты, а не камеру. Как это сделать, используя GLFW? Пожалуйста, приведи пример.Поворот объектов OpenGL GLFW
-1
A
ответ
2
Во-первых, вращение в OpenGL работает так же, если вы используете GLFW или нет. При использовании OpenGL без шейдеров (фиксированный трубопровод), для поворота только объект А в вашей сцене вы должны:
glMatrixMode(GL_MODELVIEW);
glPushMatrix(); // save the current GL_MODELVIEW matrix
glRotatef(angle, 0, 1, 0); // rotate your object
drawObjectAHere(); // draw object A
glPopMatrix(); // restore the GL_MODELVIEW matrix
Более подробная информация здесь: How to rotate a specific object in openGL?
Если вы используете шейдер, вы должны создать вращение матрицы и отправьте ее в ваш вершинный шейдер. Эта библиотека может быть полезна для создания вашей матрицы вращения: http://glm.g-truc.net/0.9.7/index.html И я надеюсь, что этот учебник будет полезен также, чтобы понять, как использовать эту матрицу в ваших шейдерах, чтобы повернуть объект: http://www.geeks3d.com/20111115/how-to-compute-the-position-in-a-vertex-shader-glsl-opengl-part-3/
Смежные вопросы
- 1. OpenGL glfw black window
- 2. Мышь GLFW, Linux & OpenGL
- 3. OpenGL + GLFW glGenVertexArrays возвращает GL_INVALID_OPERATION
- 4. Как использовать GLFW с openGL?
- 5. сумасшедший мигает окно OpenGL GLFW
- 6. OpenGL 3/GLFW Blank Viewport
- 7. OpenGL Неверный поворот камеры
- 8. Поворот текстуры openGL C++
- 9. Слишком чувствительный поворот OpenGL
- 10. Манипуляция массивами C с OpenGL и GLFW
- 11. Ошибки сборки OpenGL GLFW ИЛИ ошибки связывания
- 12. «Современный» OpenGL на Linux с GLFW
- 13. OpenGL/GLFW: glfwOpenWindow hanging (barebones application)
- 14. Загрузка ресурса GLFW 3.0 с OpenGL
- 15. Создать профиль ядра OpenGL под GLFW
- 16. В OpenGL (GLFW/GLEW) ничего не появляется
- 17. Настройка OpenGL 3.2+ на MacOS с GLFW
- 18. Как нарисовать часть круга (Opengl/GLFW)
- 19. OpenGL ES Поворот 2D-текстуры
- 20. Поворот объекта 2D нарисованный OpenGL
- 21. Поворот сферы в шейдере OpenGL
- 22. OpenGL Translate Поворот трансформации шкалы
- 23. камера первого лица, поворот OPENGL
- 24. Поворот объектов вокруг шара
- 25. ТриJS позиция/поворот объектов
- 26. Ссылка GLFW в CodeBlocks
- 27. C++/GLFW - Правильный способ использования объектов Mutex?
- 28. GLFW возвращения неправильно GL_VERSION
- 29. Окно GLFW Закрыть
- 30. Поворот нескольких объектов вокруг мыши
Если объект был составлен , как его перемещать и вращать вокруг базовой оси (X, Y или Z)? – NoName2
Вы не можете перемещать или поворачивать свой объект после его рисования. Сначала вы должны настроить матрицу, а затем нарисовать ее. Для перемещения и поворота объекта вы можете комбинировать glRotatef (угол, 0.0,1.0,0.0); следовать glTranslatef (0,0,0,0, -5,0); Здесь объект будет вращаться, а затем переводить. Таким образом, объект вращается сам по себе в координате 0,0,0,0, -5,0. –