绘制三个或三个以上的物体,并实现交互。
如图,我绘制了一张床,一张桌,床上有个人,桌上有个壶。
对图中所有物体整体有鼠标交互,按住鼠标左键能够改变视点位置
对物体总体可以进行键盘交互,左键左旋转,右键右移,上键往前移,下键往后移。
三个物体鼠标键盘交互
菜单,可以改变人的姿态及颜色。(因为菜单截不了屏,所以是拍摄的照片)
我会发布一个视频展示鼠标键盘菜单交互的效果。下一个文章详解各个部分的代码。
代码直接附上,各位自取(给我点个赞,就当分享费啦)
#include <Windows.h>
#include <stdio.h>
#include <math.h>
#include<iostream>
#include <gl/glut.h>
//#pragma comment(lib, "glut32.lib")
GLfloat angleX = 0.0f;
GLfloat angleY = 0.0f;
GLfloat zoom = 1.0f;
int lastX = -1;
int lastY = -1;
bool isDragging = false;
int menu = 0, submenu1 = 0, submenu2;
float m1 = 1.0, n1 = 0.75, l1 = 0.79;
float m2 = 0.29, n2 = 0.19, l2 = 0.44;
float m3 = 1.0, n3 = 0.0, l3 = 0.0;//床,壶,人的颜色设为变量
float a1 = 1, b1 = -5, c1 = -12.5;
float a2 = 1, b2 = -5, c2 = -10, p2 = 1, q2 = 1, r2 = 3;
float a3 = -0.5, b3 = -5, c3 = -9, p3 = 1, q3 = 1, r3 = 3;
float a4 = 2.5, b4 = -5, c4 = -9, p4 =