2
我想知道使用可編程管線進行平截頭體剔除的最有效方式是什麼。我的意思是,如果我理解正確,按照此處描述的方法:Geometric Aproach(順便說一下,那裏曾經爲我工作過的唯一方法),像glGetFloatv(GL_MODELVIEW_MATRIX,...)這樣的函數不再有效,因爲在着色器階段計算最終頂點位置。我必須在客戶端計算我在呈現之前必須檢查的每個邊界框變換的平面視覺平面嗎?使用着色器時有效的平截體剔除
謝謝。
感謝您的提示。我已經在客戶端跟蹤平截體,但是再次,按照上述的剔除方法,我需要最終的模型視圖矩陣來提供算法,該矩陣對於每個模型都是唯一的,並且其最終值在頂點計算着色器,因此在着色器調用之前,我必須重新計算每個我必須檢查的模型的視錐體,即使相機沒有移動。我錯過了什麼嗎?因爲這對我來說聽起來不合邏輯。提前致謝。 – NapardBlose
您必須跟蹤每個對象的轉換,並計算客戶端的模型視圖矩陣並應用平截視覺剔除,這樣可以避免每次從GPU獲取矩陣。我不知道你現在給你的着色器提供什麼,但你可以在CPU上計算模型視圖矩陣並將它傳遞給着色器。 – concept3d
這就是我正在做的事情,似乎我在正確的道路上,謝謝! – NapardBlose