Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/129.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更新屏幕以渲染摄影机位置 我已经把C++源从使用GLUT转换成使用SDL/OpenGL,问题是,我已经从GLUT改变了:相机的位置没有被更新,所以不是使用键盘移动,屏幕只是坐在那里呈现它需要和不更新的东西。_C++_Opengl_Sdl - Fatal编程技术网

更新屏幕以渲染摄影机位置 我已经把C++源从使用GLUT转换成使用SDL/OpenGL,问题是,我已经从GLUT改变了:相机的位置没有被更新,所以不是使用键盘移动,屏幕只是坐在那里呈现它需要和不更新的东西。

更新屏幕以渲染摄影机位置 我已经把C++源从使用GLUT转换成使用SDL/OpenGL,问题是,我已经从GLUT改变了:相机的位置没有被更新,所以不是使用键盘移动,屏幕只是坐在那里呈现它需要和不更新的东西。,c++,opengl,sdl,C++,Opengl,Sdl,键盘笔划正在工作,因为我已经设置好了,所以当按下ESC键时,它会退出,这很好 这是我的显示函数,每次循环和按键时都会调用该函数(wasd): 接下来是Camera.Render() 现在,按下一个键后会发生什么情况(该键将使相机向前移动): 最后是CCamera().MoveForward()函数: MoveForward(GLfloat Distance){ Position = Position + (ViewDir*-Distance); } 我一辈子都搞不懂为什么按键一按下就不

键盘笔划正在工作,因为我已经设置好了,所以当按下ESC键时,它会退出,这很好

这是我的显示函数,每次循环和按键时都会调用该函数(wasd):

接下来是Camera.Render()

现在,按下一个键后会发生什么情况(该键将使相机向前移动):

最后是CCamera().MoveForward()函数:

MoveForward(GLfloat Distance){
    Position = Position + (ViewDir*-Distance);
}
我一辈子都搞不懂为什么按键一按下就不能更新位置。 任何帮助都将不胜感激!谢谢。

CCamera()
只是创建了一个临时摄像头。(然后你移动它。)然后临时的就消失了


也许你是想修改
相机

你我的朋友是大师!难怪你叫格曼。谢谢。我的问题现在看起来很傻。@Elgoog:没关系,每个人都至少问一次。
SF3dVector ViewPoint = Position+ViewDir;
gluLookAt(Position.x,Position.y,Position.z,ViewPoint.x,ViewPoint.y,ViewPoint.z,UpVector.x,UpVector.y,UpVector.z);
case SDLK_w:
    CCamera().MoveForward( -0.1 ) ;
    Display();
    break;
MoveForward(GLfloat Distance){
    Position = Position + (ViewDir*-Distance);
}