Думаю ты хотел увидеть это:
| Код |
#include <windows.h> #include <GL/glut.h>
GLUquadricObj *qobj; int angleX = 0, angleY = 0; int mouseChangeX, mouseChangeY;
void displayFunc(void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glTranslatef(0.0, 0.0, -10.0); glRotatef(angleY, 0, 1, 0); glRotatef(angleX,-1, 0, 0);
/* вот здесь твой любой объект */ gluSphere(qobj, 1, 12, 12);
glutSwapBuffers(); glutPostRedisplay(); }
void mouseFunc(char key, int x, int y) { // Нажатие правой кнопки мыши if(key==2) angleX = angleY = 0; }
void motionFunc(int x, int y) { angleX -= (mouseChangeY-y); mouseChangeY = y; angleY -= (mouseChangeX-x); mouseChangeX = x; }
int main(int argc, char **argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGB); glutCreateWindow("");
glutDisplayFunc(displayFunc); glutMouseFunc(mouseFunc); glutMotionFunc(motionFunc);
glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(45.0, 1.0, 1.0, 100.0);
glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); glEnable(GL_DEPTH_TEST);
qobj = gluNewQuadric();
glutMainLoop(); return 0; }
|
|