2009-02-26 84 views
2

函數gluPerspective()可用於設置近Z和遠Z剪裁平面。多視錐體剪裁

我想繪製一個場景剪輯在某個遠Z平面, 並繪製超出此Z平面的另一個場景。 是否有可能每幀進行兩次裁剪?

回答

1

你沒有理由不能這樣做。

只需設置第一個透視圖,繪製第一個場景,然後設置第二個透視圖並在同一個框架的圖形中繪製秒場景。
這通常被稱爲多通道渲染。

1

您可能需要先繪製最遠的場景,然後在繪製最近的場景之前執行glClear(GL_DEPTH_BUFFER_BIT);

1

一種可能性是爲場景分配不同的深度範圍。一些僞代碼是:

glDepthRange(0.5, 1.0) 
    draw_far_scene 
    glDepthRange(0.0, 0.5) 
    draw_near_scene 

您必須設置您的投影矩陣來爲近/遠場景執行正確的剪輯。

深度範圍分配需要防止深度緩衝區「合併」兩個渲染。