OpenGL - 无法让相机工作

时间:2014-05-18 23:54:27

标签: c++ opengl matrix

我在关注的教程系列中遇到了很多问题。(教程可以在这里找到:http://www.antongerdelan.net/opengl/我在虚拟相机教程中)

这是我的项目文件夹和我使用的所有内容(这里有太多代码要粘贴): https://www.dropbox.com/s/sohk0uk9h7h2egw/Virtual%20Camera.zip

我正在使用他的数学库(math_funcs.h和math_funcs.cpp,并将它们组合成一个标题GLMath.h。你应该在我的项目文件夹中看到它。)

目前,我尝试在每个键盘控件上添加GLFW_PRESS == glfwGetKey,但没有改变任何内容。我知道该程序正在运行代码块,因为我在代码块中添加了一些printf( "You are pressing this key" );printf( "Active" );,并且它们在控制台中列出。我试着查看页面底部的帮助信息,着色器日志没有告诉我任何事情(着色器日志是GL.log,也在项目文件夹中)。如果矩阵均匀位置小于0,我确实尝试输出。顶点矩阵返回1,投影矩阵返回0.投影矩阵的均匀位置是问题吗?如果是这样,我该如何解决? 我也尝试使用if ( cam_moved == true )而不仅仅是if( cam_moved ),但这也没有做任何事情。请帮助,我很难过,无法弄清楚如何解决这个问题。我的编译器是MinGW,我使用Notepad ++作为我的IDE。我没有任何问题链接到任何东西。我使用GLFW和GLEW作为我的窗口处理库。请注意,我正在构建所有的OpenGL程序,以便与Mac和Linux交叉兼容,因此我不会使用任何Windows函数来简化操作。

如果您有任何建议可以提高代码效率,请告诉我并解释它是如何工作的。

1 个答案:

答案 0 :(得分:1)

您在循环之前一次实现矩阵T,其值永远不会改变。

您需要在mat4 T=…

中移动217 mat4 view_mat=…和219 while (!glfwWindowShouldClose(window))