opengl实现摄像机围绕模型旋转,无论如何旋转,摄像机始终看着某一点
答案:2 悬赏:40 手机版
解决时间 2021-03-16 09:28
- 提问者网友:鐵馬踏冰河
- 2021-03-15 22:46
效果就像谷歌地球的摄像机一样,最好是c++的代码,c#、c也可以,请加注释
最佳答案
- 五星知识达人网友:零点过十分
- 2021-03-15 23:55
float m_matrix[16]; // 存储矩阵
glPushMatrix();
glLoadIdentity();
glRotatef(rotY, 0, 1, 0); // 旋转角度
glTranslatef(0,0,5); //半径为5的圆旋转
glGetFloatv(GL_MODELVIEW_MATRIX, m_matrix);
glPopMatrix();
glLoadIdentity();
gluLookAt(m_matrix[12],m_matrix[13],m_matrix[14],0,0,0,0,1,0); // 摄像机目标为(0,0,0)的点
glPushMatrix();
glLoadIdentity();
glRotatef(rotY, 0, 1, 0); // 旋转角度
glTranslatef(0,0,5); //半径为5的圆旋转
glGetFloatv(GL_MODELVIEW_MATRIX, m_matrix);
glPopMatrix();
glLoadIdentity();
gluLookAt(m_matrix[12],m_matrix[13],m_matrix[14],0,0,0,0,1,0); // 摄像机目标为(0,0,0)的点
全部回答
- 1楼网友:拾荒鲤
- 2021-03-16 01:12
通用方法,是创建bsp树判断可见以及碰撞,简单办法:做一些不现实的物体,如果发现摄像机碰到那些物体了,禁止前进(可以后退或转向,否则就卡住了)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯