OpenGL入门第一步:创建窗口、重写虚函数-CSDN博客
OpenGL入门第二步:颜色、纹理设置(解析)-CSDN博客
OpenGL入门第三步:矩阵变换、坐标系统-CSDN博客
目录
函数解析
具体代码
函数解析
相机视角变换需要与鼠标键盘进行交互,需要重写鼠标和键盘响应函数。
初始化
timerEvent(QTimerEvent *event)函数:设置移动速度和对应按键移动方向,以及摄像机的摆放位置
glm::LookAt函数需要一个位置、目标和上向量。知道相机上方向和前方向,可以通过矩阵叉乘得到右方向,从而建立相机坐标系(右手坐标系)。位置是相机坐标系在整个世界坐标系下的位置。
enterEvent(QEvent *event)函数:
鼠标只要经过窗口就会被置于中心,不隐藏指针就是下面的效果。
mouseMoveEvent(QMouseEvent *event)函数:
wheelEvent(QWheelEvent *event)函数:实现缩放效果。当视野变小时,场景投影出来的空间就会减小,产生放大了的感觉。
keyPressEvent(QKeyEvent *event)、keyReleaseEvent(QKeyEvent *event)函数:键盘响应