解決osgearh程序運行後對象變形的問題

首先來看一張圖,如圖1所示。

圖1 變形的地球模型

                                                                                

由圖1可知,地球模型嚴重變形,後來發現造成這種問題產生的原因是沒有創建對稱的透視投影。解決方法是:通過獲取視圖的主攝像頭,並創建對稱的透視投影。關鍵代碼如下:

view->getCamera()->setProjectionMatrixAsPerspective(30.0f, static_cast<double>(traits->width)/static_cast<double>(traits->height), 1.0, 1000.0);

其中,創建對稱的透視投影用到了setProjectionMatrixAsPerspective(double fovy,double aspectRatio,double zNear, double zFar)方法,參數fovy代表相機鏡頭對應的視野參數,參數aspectRatio代表長寬比,參數zNerar代表近平面距離, 參數zFar代表遠平面距離。

最後,成功實現了正常地球模型的展示,如圖2所示。

圖2 正常顯示的地球模型
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章