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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/688063.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

企业微信hook接口协议,ipad协议http,群发消息(每天每人一次)

群发消息(每天每人一次) 参数名必选类型说明uuid是String每个实例的唯一标识,根据uuid操作具体企业微信vids是long要发送的人或者群ididisroom是bool是否是群消息 请求示例 {"uuid":"xxxxxxxx","vids": [&qu…

敏感信息提取插件-CaA(三)

0x01 简介 CaA是一个基于BurpSuite Java插件API开发的流量收集和分析插件。它的主要作用就是收集HTTP协议报文中的参数、路径、文件、参数值等信息,并统计出现的频次,为使用者积累真正具有实战意义的Fuzzing字典。除此之外,CaA还提供了独立的…

大文件传输的好帮手Libarchive:功能强大的开源归档文件处理库

在数字化时代,文件的存储和传输对于企业的日常运作至关重要。但是,服务器中的压缩文件往往无法直接查看或预览,这给用户带来了不便。为了解决这一问题,在线解压功能的开发变得尤为重要。接下来,小编将介绍一个能够实现…

利用IP地址查询解决被“薅羊毛”的方法

在互联网时代,随着各种网络诈骗手段的不断更新和演变,“薅羊毛”成为了一种常见的网络犯罪行为。其中,利用查询IP地址进行欺诈活动已经成为一种普遍的手段。当个人或组织的IP地址被不法分子查询后,可能会面临虚假注册、盗取个人信…

开放式耳机哪个品牌好?性能超强的五款耳机推荐!速来码住!

运动已经融入了我们的日常生活,组团徒步、爬山、跑步、骑行等项目都收到了很人的喜爱。运动加耳机的组合也成了年轻人热爱的方式,在激烈运动的过程中往往会照成颠簸,在佩戴耳机上稳固性和舒适性就变得很重要了,因此开放式蓝牙耳机…

答辩PPT不会做?试试这些AI工具,一键生成

在我原本的认知里面,答辩PPT是要包含论文各个章节的,在答辩时需要方方面面都讲到的,什么摘要、文献综述、实证分析、研究结果样样不落。但是,这大错特错! 答辩PPT环节时长一般不超过5分钟,老师想要的答辩P…

[已解决]ModuleNotFoundError: No module named ‘tqdm‘

😎 作者介绍:我是程序员行者孙,一个热爱分享技术的制能工人。计算机本硕,人工制能研究生。公众号:AI Sun,视频号:AI-行者Sun 🎈 本文专栏:本文收录于《AI实战中的各种bug…

Eplan2.9版本安装教程指南【附安装包】

文章目录 前言一、Eplan是什么?二、安装指南1、安装包获取2、安装步骤在这里插入图片描述 总结 前言 随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示&…

Windows Server 2012 R2 新增D盘分区

我们经常搭建windows版本的游戏时会要在D盘上操作,今天就介绍下新的服务器如何新增一个D盘。 在"开始"图标右边有个”服务器管理器“,单击点开 点开服务器管理器后,点击“工具”打开“计算机管理” 打开计算机管理后点击“存储”-…

【WEB前端2024】开源智体世界:乔布斯3D纪念馆-第19课-活动报名表单

【WEB前端2024】开源智体世界:乔布斯3D纪念馆-第19课-活动报名表单 使用dtns.network德塔世界(开源的智体世界引擎),策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的智体世界引擎…

AI图书推荐:重塑—利用生成式AI构建产品

你知道吗,将人工智能融入产品已经成为全球企业的关键战略?埃森哲 (Accenture) 2023 年的一项研究显示,高达 75%的高管认为,如果在未来五年内未能有效整合人工智能,企业可能会被淘汰。 《重塑:利用生成式人工…

区块链 | NFT 水印:Review on Watermarking Techniques(三)

🍍原文:Review on Watermarking Techniques Aiming Authentication of Digital Image Artistic Works Minted as NFTs into Blockchains 一个 NFT 的水印认证协议 可以引入第三方实体来实现对交易的认证,即通过使用 R S A \mathsf{RSA} RSA…