OpenGL笔记十九之相机系统

OpenGL笔记十九之相机系统

—— 2024-10-02 晚上

文章目录

  • OpenGL笔记十九之相机系统
    • 1.运行
      • 1.1.游戏相机
      • 1.2.轨迹球相机
    • 2.游戏相机与轨迹球相机切换
    • 3.博主笔记本要运行需要更改的文件
      • 更改1:28_OpenGL_CameraSystem/application/Application.cpp
      • 更改2:28_OpenGL_CameraSystem/application/CMakeLists.txt
      • 更改3:28_OpenGL_CameraSystem/assets/shaders/fragment.glsl
      • 更改4:28_OpenGL_CameraSystem/assets/shaders/vertex.glsl
      • 更改5:28_OpenGL_CameraSystem/CMakeLists.txt
      • 更改6:28_OpenGL_CameraSystem/main.cpp

1.运行

1.1.游戏相机

鼠标右键按住可控制旋转
在这里插入图片描述

1.2.轨迹球相机

在这里插入图片描述

2.游戏相机与轨迹球相机切换

注意代码文件中是拼写错误的GameCameraControl.h,应该是小写g

#include "application/camera/trackBallCameraControl.h"
#include "application/camera/gameCameraControl.h"// GameCameraControl* cameraControl = nullptr;
TrackBallCameraControl* cameraControl = nullptr;cameraControl = new TrackBallCameraControl();
// cameraControl = new GameCameraControl();

3.博主笔记本要运行需要更改的文件

Files 28_OpenGL_CameraSystem/application/Application.cpp and diff_temp/28_OpenGL_CameraSystem/application/Application.cpp differ
Files 28_OpenGL_CameraSystem/application/CMakeLists.txt and diff_temp/28_OpenGL_CameraSystem/application/CMakeLists.txt differ
Files 28_OpenGL_CameraSystem/assets/shaders/fragment.glsl and diff_temp/28_OpenGL_CameraSystem/assets/shaders/fragment.glsl differ
Files 28_OpenGL_CameraSystem/assets/shaders/vertex.glsl and diff_temp/28_OpenGL_CameraSystem/assets/shaders/vertex.glsl differ
Files 28_OpenGL_CameraSystem/CMakeLists.txt and diff_temp/28_OpenGL_CameraSystem/CMakeLists.txt differ

更改1:28_OpenGL_CameraSystem/application/Application.cpp

在这里插入图片描述

更改2:28_OpenGL_CameraSystem/application/CMakeLists.txt

在这里插入图片描述

更改3:28_OpenGL_CameraSystem/assets/shaders/fragment.glsl

在这里插入图片描述

更改4:28_OpenGL_CameraSystem/assets/shaders/vertex.glsl

在这里插入图片描述

更改5:28_OpenGL_CameraSystem/CMakeLists.txt

在这里插入图片描述

更改6:28_OpenGL_CameraSystem/main.cpp

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL 中如何优化 DISTINCT 查询

一、引言 在 MySQL 数据库中,DISTINCT关键字用于查询结果集中去除重复的行。然而,使用DISTINCT可能会导致查询性能下降,特别是在处理大量数据时。本文将介绍一些优化 MySQL 中DISTINCT查询的方法。 二、理解 DISTINCT 查询的性能影响 &…

NOI Linux 2.0 使用指南 Code Blocks 手把手教会你

安装 NOI Linux 2.0 的镜像可以从 NOI 官网下载。(NOI Linux 2.0发布,将于9月1日起正式启用!) 可以采用 Virtual Box 或者 VMWare 来安装虚拟机(不建议安装实体机,如果想要尝试 Linux 环境,推荐使用 WSL 2.0&#xf…

十六字心传

中国文化传统中著名的“十六字心传”:“人心惟危,道心惟微;惟精惟一,允执厥中。 ”语出于《虞书大禹谟》。 人心与道心:人的人欲与天理的区别;所谓“人心惟危”,即是说人们的那种物欲情欲&…

ubuntu 18.04 cuda 11.01 gpgpu-sim 裸机编译

1,环境 ubuntu 18.04 x86_64 cuda 11.01 gpgpu-sim master commit 90ec3399763d7c8512cfe7dc193473086c38ca38 2,预备环境 一个比较新的 ubuntu 18.04,为了迎合 cuda 11.01 的版本需求 安装如下软件: sudo apt-get instal…

Vue3 proxy跨域代理

一、跨域问题 假设vue项目的运行地址为:http://localhost:5173,此时我们想要调用后端服务的rest api,而后端接口暴露的地址为:https://192.168.1.1:8080/user。 可以发现前端服务与后端服务的域名是不同的,默认情况下…

MySQL 中变量的使用指南

一、引言 在 MySQL 数据库中,变量可以帮助我们更灵活地处理数据和执行查询。变量可以存储各种类型的值,并且可以在 SQL 语句中进行引用和操作。本文将介绍如何在 MySQL 中使用变量,包括用户定义变量和系统变量,并分享一些实际案例…

体验鸿蒙开发第一课

Index.ets: // 导入页面路由模块 import router from ohos.router; Entry Component struct Index {State message: string 我是没头脑build() {Row() {Column() {Text(this.message).fontSize(50).fontWeight(FontWeight.Bold) // 添加一个按钮Button() {Text("Open Pa…

Redis中一些其他的数据类型渐进式遍历

我们之前说了redis中的五个类型 分别是:String List Hash Set ZSet,那除了这五个redis文档中还给我们提供了一些其他的数据类型 (一)一些其他的数据类型 1.stream 这里的数据类型我们只做简单的一些介绍,如果想了解具体…

探索未来:掌握python-can库,开启AI通信新纪元

文章目录 **探索未来:掌握python-can库,开启AI通信新纪元**背景介绍**python-can**库简介安装指南函数使用示例应用场景常见问题及解决方案总结 探索未来:掌握python-can库,开启AI通信新纪元 背景介绍 在人工智能和物联网的飞速…

鸢尾花书实践和知识记录[数学要素3-3几何]

书的作者 文章目录 思维导图使用到的函数几何的介绍(略)点线面和定义欧几里得几何原本的公理正多边形代码:如何绘制正多边形 三维的几何体柏拉图立体几何变换 角度和弧度角度弧度正负角(相位)三个角 勾股定理到三角函…

算法笔记(五)——分治

文章目录 算法笔记(五)——分治快排颜色分类排序数组数组中的第K个最大元素库存管理 III 归并排序数组交易逆序对的总数计算右侧小于当前元素的个数翻转对 算法笔记(五)——分治 分治算法字面上的解释是“分而治之”,就…

绘制随k变化的等熵面积比公式

xmax 4; Ma 0.1:0.05:xmax; figure; hold on; xlim([0,xmax]); ylim([0,10]);% 预定义k值的向量 k_values 1.2:0.1:1.4;% 创建一个细胞数组来存储图例标签 legendStrings cell(1, length(k_values));% 绘制每条曲线并记录图例标签 lines []; for idx 1:length(k_values)k…

LabVIEW自动生成NI-DAQmx代码

在现代数据采集和控制系统中,LabVIEW被广泛应用于各种工业和科研领域。其中,NI-DAQmx是一个强大的驱动程序,可以帮助用户高效地管理和配置数据采集任务。本文将介绍如何在LabVIEW中通过DAQ Assistant Express VI和任务常量自动生成NI-DAQmx代…

【leetcode】 45.跳跃游戏 ||

如果我们「贪心」地进行正向查找,每次找到可到达的最远位置,就可以在线性时间内得到最少的跳跃次数。 例如,对于数组 [2,3,1,2,4,2,3],初始位置是下标 0,从下标 0 出发,最远可到达下标 2。下标 0 可到达的…

2024最新的软件测试面试大全(含答案+文档)

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 一、软件测试基础面试题 1、阐述软件生命周期都有哪些阶段? 常见的软件生命周期模型有哪些? 软件生命周期是指一个计算机软件从功能确定设计,到…

【YOLO目标检测行人与车数据集】共5607张、已标注txt格式、有训练好的yolov5的模型

目录 说明图片示例 说明 数据集格式:YOLO格式 图片数量:5607 标注数量(txt文件个数):5607 标注类别数:2 标注类别名称:person、car 数据集下载:行人与车数据集 图片示例 数据集图片: …

JAVA基础语法 Day11

一、Set集合 Set特点:无序(添加数据的顺序和获取出的数据顺序不一致),不重复,无索引 public class demo1 {public static void main(String[] args) {//1.创建一个集合//HashSet特点:无序,不重…

Linux高级编程_27_系统调用

文章目录 系统调用函数分类系统编程概述系统调用概述**类UNIX系统的软件层次** 用户态和内核态系统调用与库函数的关系文件操作符概述文件磁盘权限 系统调用之文件操作open:打开文件close:关闭文件write:写入read:读取 文件状态fcntl 函数stat 函数 st_mode的值示例 1&#xff…

synchronized底层是怎么通过monitor进行加锁的?

一、monitor是什么 monitor叫做对象监视器、也叫作监视器锁,JVM规定了每一个java对象都有一个monitor对象与之对应,这monitor是JVM帮我们创建的,在底层使用C实现的。 ObjectMonitor() {_header;_count ; // 非常重要,表示锁计数…

【论文速看】DL最新进展20241002-自动驾驶、自监督学习、扩散模型、多模态与图像分割

目录 【自动驾驶】【自监督学习】【扩散模型】【多模态与图像分割】 【自动驾驶】 [轨迹预测] CASPFormer: Trajectory Prediction from BEV Images with Deformable Attention 论文链接:https://arxiv.org/pdf/2409.17790 代码链接:无 运动预测是自动…