教程14

相机控制1(键盘事件)


原文:http://ogldev.atspace.co.uk/www/tutorial14/tutorial14.html
CSDN完整版专栏: http://blog.csdn.net/column/details/13062.html


背景

在之前的教程中我们学习了如何将相机至于3d世界的任意一个位置,下一步就要实现让用户来控制它。移动应该是不受限制的:用户可以在任何方向上移动。相机的控制通过两种输入设备来实现:使用键盘控制位置的移动,使用鼠标来改变目标视角,这个和第一人称射击角色类似。这篇教程介绍键盘的控制,鼠标的控制放在下一个教程中。

我们要实现传统的上下左右四键控制。注意我们相机的变换是通过当前位置position、target向量(前方视角)和上方头顶up向量定义的,当我们使用键盘控制移动的时候我们只是改变我们的位置,我们不能倾斜相机不能将相机的视角移动到目标物体方向(不会改变target向量和up向量)。
为了

【一步步学OpenGL 14】 -《相机控制1(键盘事件)》相关推荐

  1. opengl 深度详解_一步步学OpenGL(1) -《打开一个窗口》

    注意本教程中需要使用的是freeGLUT(GLUT太老会有潜在危险)窗口库和GLEW扩展库. vs2013配置freeGLUT3.0:vs2013 配置 freeglut3.0(opengl的窗口系统 ...

  2. opengl 纹理贴到对应的位置_一步步学OpenGL(27) -《公告牌技术与几何着色器》

    教程 27 公告牌技术与几何着色器 原文: http://ogldev.atspace.co.uk/www/tutorial27/tutorial27.html CSDN完整版专栏: https:// ...

  3. opengl 深度详解_一步步学OpenGL(23) -《阴影贴图1》

    教程 23 阴影贴图1 原文: http://ogldev.atspace.co.uk/www/tutorial23/tutorial23.html CSDN完整版专栏: https://blog.c ...

  4. 使用opengl绘制立方体_一步步学OpenGL(25) -《Skybox天空盒子》

    教程 25 Skybox天空盒子 原文: http://ogldev.atspace.co.uk/www/tutorial25/tutorial25.html CSDN完整版专栏: https://b ...

  5. opengl 安装_一步步学OpenGL(34) -《GLFX,一个OpenGL效果库》

    教程 34 GLFX,一个OpenGL效果库 原文: http://ogldev.atspace.co.uk/www/tutorial34/tutorial34.html CSDN完整版专栏: htt ...

  6. 【一步步学OpenGL 31】 -《PN(Point-Normal)三角形曲面细分》

    教程 31 PN(Point-Normal)三角形曲面细分 原文: http://ogldev.atspace.co.uk/www/tutorial31/tutorial31.html CSDN完整版 ...

  7. 【一步步学OpenGL 3】-《第一个三角形》

    教程 3 第一个三角形 原文:http://ogldev.atspace.co.uk/www/tutorial03/tutorial03.html CSDN完整版专栏: http://blog.csd ...

  8. 【一步步学OpenGL 25】-《Skybox天空盒子》

    教程 25 Skybox天空盒子 原文: http://ogldev.atspace.co.uk/www/tutorial25/tutorial25.html CSDN完整版专栏: http://bl ...

  9. 【一步步学OpenGL 4】-《着色器》

    教程4: 着色器 原文: http://ogldev.atspace.co.uk/www/tutorial04/tutorial04.html CSDN完整版专栏: http://blog.csdn. ...

最新文章

  1. R语言循环中break函数和next函数使用实战
  2. 【剑指offer】10A--求裴波那切数列的第n项,C++实现
  3. java 接口中 常量_讨论:Java 接口当中的 “常量接口”
  4. Vue学习(一)-邂逅Vuejs
  5. 北航计算机科学与技术专业培养计划,北京航空航天大学2020年计算机科学与技术专业培养计划...
  6. 这是一个沙雕题III(坑题)
  7. 一条nginx命令引发的对于容器的思考
  8. 【CodeForces - 722D】Generating Sets(二分,贪心)
  9. PCL库使用中遇到的一些问题及解决方法
  10. mysql 主从复制日志_mysql主从复制基于日志复制
  11. UVA1515 Pool construction (最小割模型)
  12. web的标准网页设计与php课后,第3章web标准与html
  13. 洛谷 P4099 SAO —— 树形dp
  14. win7与internet时间同步出错_电脑时间同步出错怎么办 win7/xp电脑时间同步出错解决方法...
  15. 换一种视角看《百度SEM竞价推广》
  16. 计算机连接苹果手机不能找到照片目录,苹果手机上照片在电脑找不到了怎么办...
  17. n分频器 verilog_verilog 语言实现任意分频
  18. 基金定投 | 微笑曲线
  19. controller实现
  20. 利用python实现3种梯度下降算法

热门文章

  1. 用ZWCAD软件的旋转命令来绘制简易花瓶吧!一起学习吧!!!
  2. 尚学堂Java视频精华集锦
  3. vue图片在设置好的div里面自动适应宽高,显示全部图片,不够的留空白
  4. PAT甲级1050 String Subtraction
  5. 设计师经常用双显卡交火来实现更高的性能
  6. 通过VBA在excel中实现股票当日走势数据查询表(完整代码截图在文章最后,完整的excel原件可以在我的资源中下载)
  7. 第一代计算机功能单元,计算机复习(1)
  8. 迅为国产嵌入式开发板平台选型
  9. 《中国电子及通信设备制造业在全球价值链中的地位研究》gvc概念整理
  10. Android虚拟机内存参数说明