2016-02-18 61 views
2

我在3ds Max中生成10k大小的10k大小的地形網格。我的問題是,遠距離剪輯只是關閉,我不能看到我想要的。我試圖實現一個霧陰影,我現在看到的只是不好。在Opengl中增加攝像機的遠距離

我的相機構造看起來像這樣

Camera::Camera(): 
    cameraPosition_(glm::vec3(-1.0f, 1000.0f, 20.0f)), 
    cameraLook_(glm::vec3(0.0f, 800.0f, 200.0f)), 
    lookAt_(glm::lookAt(cameraPosition_, 
         cameraLook_, 
         WORLD_YAXIS)), 
    near_(0.1f), 
    far_(10000.0f), 

    projection_(glm::perspective(
     70.0f, 
     4.0f/3.0f, 
     near_, 
     far_)), 
    name_("Default Camera") 
{ 
} 

,結果看起來像這樣enter image description here

+0

1)嘗試檢查3ds max導出單位必須是單位不是mm,sm或m 2)嘗試禁用地形網格的多邊形剔除(導出後可能會出現面向多邊形方向的一些問題)。 – Mykola

+0

您可以嘗試標準化網格。在0到1之間的框中輸入0 – Unick

+0

Z緩衝區限制來自'z_far/z_near'比率。試試'near_(10f)'。請參閱:http://www.gamedev.net/topic/173562-max-far-clip-plane-distance/ – Orace

回答

0

真正的相機不具有近端和遠端剪切面。由於數值精度問題,虛擬相機需要它們。很容易將近平面和遠平面設置爲極端值來模擬真實的攝像機,但這會使對象失效。平面之間的距離越小,您將獲得的工件數量越少,並且應將其設置爲略微超出實際對象的範圍。

(如果您確實需要同時拍攝天空中的兩架飛機和葉片上的飛蟲,請使用不同的相機設置進行兩次繪製。