如何用OpenGL建立可自由控制的Camera

myMugua 2011-01-25 06:56:28
最近学习OpenGL,想自己建立一个3D场景,但是Nehe教程里面的3D漫游根本没有摄像机类,它是旋转世界来欺骗视觉。。
我想写一个根据鼠标左右键操控的Camera类,但是不知道从何起手...
有相关经验的朋友教教我,或者有例字的大虾们,能不能发我一份参考下!
小弟不甚感激呀!!! 只剩40分了,惭愧啊...
...全文
274 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Pause_break 2011-01-25
  • 打赏
  • 举报
回复
相机类其实就是操纵两个矩阵,一个投影矩阵,一个ModelView矩阵,外部接口提供直观的方式来改变这两个矩阵,一般的外部接口包括有绕轴旋转,LookAt等等。一般的开源3D引擎里面都会有完善的相机类,像OGRE,OSG等,它们提供多种操纵相机的方式,比如说trackball等。你可以去这些开源的引擎找相应的相机类。
myMugua 2011-01-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 eastcowboy 的回复:]
呵呵,本来就是靠变换来“欺骗”。
有个函数叫做gluLookAt,设置一下就好了。

C/C++ code
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluLookAt(XXX);
glMatrixMode(GL_MODELVIEW);
[/Quote]

是不是把摄像机也看成一个物体,然后对这个物体进行矩阵变换,然后调节gluLookAt里面的参数?
就这么简单吗? 能不能给个实例啊。。
eastcowboy 2011-01-25
  • 打赏
  • 举报
回复
呵呵,本来就是靠变换来“欺骗”。
有个函数叫做gluLookAt,设置一下就好了。
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluLookAt(XXX);
glMatrixMode(GL_MODELVIEW);
mugua 2011-01-25
  • 打赏
  • 举报
回复
很期待这个问题的答案呀。。。
顶个。
myMugua 2011-01-25
  • 打赏
  • 举报
回复
对了,我的邮箱: 309235042@qq.com

有例子最好了,谢谢各位!!

64,682

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧