OpenGL入门第四步:摄像机视角变换与交互

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)函数:键盘响应

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-12 06:22:07       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-12 06:22:07       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-12 06:22:07       82 阅读
  4. Python语言-面向对象

    2024-05-12 06:22:07       91 阅读

热门阅读

  1. 探索STLport:C++标准模板库的开源实现

    2024-05-12 06:22:07       27 阅读
  2. 自动驾驶技术:现状、挑战与前景

    2024-05-12 06:22:07       26 阅读
  3. Debian常用命令

    2024-05-12 06:22:07       28 阅读
  4. Linux下非常实用的asla卡录音小程序

    2024-05-12 06:22:07       22 阅读
  5. 大数据数据采集 Apache-Flume 笔记

    2024-05-12 06:22:07       31 阅读
  6. HTML/CSS3

    HTML/CSS3

    2024-05-12 06:22:07      27 阅读
  7. Spark读取Hive数据或文件如何提升速度的优化思路

    2024-05-12 06:22:07       23 阅读
  8. ConcurrentHashMap并发安全的实现

    2024-05-12 06:22:07       33 阅读
  9. SSH(安全外壳协议)简介

    2024-05-12 06:22:07       23 阅读
  10. 盛邦安全拟战略收购卫星通信加密厂商天御云安

    2024-05-12 06:22:07       27 阅读
  11. 使用python将多张图片转为一个PDF

    2024-05-12 06:22:07       28 阅读
  12. centos追加扩容整块磁盘容量

    2024-05-12 06:22:07       32 阅读
  13. CentOS Linux 7 一键安装和卸载docker & docker-compose

    2024-05-12 06:22:07       32 阅读