2014-12-30 53 views
1

我正在編寫一個自定義的osg::Drawable類,當調用其方法drawImplementation時,需要計算當前距離攝像頭的距離。它需要這樣做才能確定渲染的最佳面數。獲取OpenSceneGraph自定義osg的實際節點路徑:: Drawable

難點在於我的繪圖可以有任意數量的osg:Transform節點作爲父母。我需要應用正在應用於drawable的實際父代的轉換。使用osg::Node::getParents()和/或getParentalNodePaths(),我可以確定所有可能的路徑,但不是所採取的路徑。

有沒有什麼方法可以在OpenSceneGraph中確定?我已經通過示例和文檔挖掘,並沒有找到我所需要的。

回答

3

您可以在淘汰階段而不是渲染/繪製階段執行此操作。您可以從剔除訪問者處獲得模型視圖矩陣,然後確定與此距離。既然你想爲你的自定義drawable類做這件事,你可以通過附加一個cullcallback來做到這一點。

+0

在osg-users郵件列表上查詢時,我發現您可以通過狀態對象從drawable的drawImplementation中獲取模型視圖矩陣,這比使用cull回調更直接。雖然,謝謝你的建議。 –

+0

@raveesh Srivathsa:P. – SRINI794