2014-05-18 40 views
0

我有很多問題在我下面的教程系列(該教程可以在這裏找到:http://www.antongerdelan.net/opengl/我對虛擬相機教程)的OpenGL - 無法獲得相機工作

這是。我的項目文件夾,我用一切(有太多的代碼粘貼到這裏): https://www.dropbox.com/s/sohk0uk9h7h2egw/Virtual%20Camera.zip

我使用他的數學庫(math_funcs.h和math_funcs.cpp,並結合他們兩人成一個頭,GLMath。 h。您應該在我的項目文件夾中看到它。)

目前,我已嘗試添加0每個鍵盤控件上的,沒有任何改變。我知道程序正在運行代碼塊,因爲我在代碼塊中添加了一些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

請不要使用鏈接到Dropbox的份額 - 或任何外部來源 - 你的問題(除永久網頁)。主要是因爲它可能在一年或兩年內無效/更改,但也因爲它要求任何想幫助你去下載代碼,建立構建環境等的人......你應該能夠提供相關的代碼片段,如果你還不能,那麼你需要做更多的調試...... – Basic

+1

因爲我在這裏是新的,我盡我所能地努力使問題適合需要stackoverflow用戶誰想幫忙。你會如何重寫這個問題?因爲我懷疑添加1600-1700行代碼對於這個問題是有益的,並且不知道它是否是DLL錯誤或其他類似的東西,這使我想將它們添加到可下載的鏈接進行測試。特別是因爲我已經調試了將近一週,並且知道代碼塊正在執行,但是不能像他們應該的那樣工作,我不知道我需要包含哪些代碼片段。 – NukingDragons

+0

公平的問題。我很抱歉,如果我聽起來居高臨下,是的,調試低層次的東西可能是我們所有人的痛苦。我不是OpenGL專家,但我確實有一些DirectX和WebGL的經驗,所以爲什麼我不下載副本,看看我是否可以幫助改進問題。 **編輯:**只是注意到你找到了答案。 – Basic

回答

1

您將您的矩陣T設置爲一次且在循環之前,其值永不改變。

你需要移動線217 mat4 T=…和219 mat4 view_mat=…while (!glfwWindowShouldClose(window))

+0

非常感謝你。我花了好幾天的時間來解決這個問題,並且通過移動你告訴我的線條,以及218,相機開始工作! – NukingDragons

+0

啊,線218取決於'camera_yaw'某種程度上錯過了......不客氣 – Valerij