我試圖獲得一個FPS風格的攝像頭工作,同時遵循openGL SuperBible書中的示例。如何在OSX上實現沒有GLU的FPS攝像頭(或跨平臺)C++
這一切都很順利,直到我遇到了最終發生滾動的問題時,你真的只想要俯仰和偏航。
這個問題基本上是問同樣的事情,但我希望有人也許能夠更詳細一點關於實施,理想與OpenGL超級GLTools框架的經驗。
我已經嘗試過實現GluLookAt code,這是我必須編譯的,但是在複製所需的函數時我犯了一個錯誤,或者在使用它時傳遞了錯誤的參數。
我想我覺得它有點混亂,因爲SuperBible代碼抽象了一些相機的工作原理,所以我很難正確實現它。當測試我的當前版本時,我傳遞了這樣的參數
M3DMatrix44f mCamera;
cameraFrame.GetCameraMatrix(mCamera); //returns the matrix of the CameraFrame.
M3DVector3f up = { 0.0f, 1.0f, 0.0f };
M3DVector3f look = { xHeading,yHeading,0.0f };
//xHeading & yHeading ranges from -1 to 1 based on mouse movement, is this correct?
我該如何管理和傳遞外觀變量?目前看起來外觀價值是停留在同一個地方,所以如果我向後移動,我最終會在現場旋轉。
glhLookAtf2(mCamera, mCamera, look, up);
我覺得我必須更好地管理我的視線方向,也可能是我的相機位置。看起來似乎沒有改變似乎很奇怪。
任何人都可以幫忙,或者指向一個堅實的教程路徑的方向嗎?我試圖避免做任何過時的事情,但在這一點上,我真的很高興,只是爲了得到一些工作。
另外,當我使用wasd鍵移動場景時,看預設爲{1.0f,1.0f,1.0f}他們的相機不會集中在場景的中間。但是,當我將鼠標中的變量從-1改爲1時,相機確實會移動,只是不正確。如果我修正了外觀的位置,相機是否應該專注於中心? – 2011-04-05 00:46:23