我正在編寫一個基於OpenSceneGraph的程序,它使用兩個攝像頭,一個爲用戶渲染預覽,另一個使用回調與MRT製作屏幕截圖。出口商的相機使用正射投影,並始終從相同的位置使用相同的視角和向量,而預覽相機可以由用戶移動。爲什麼在osg中添加相機後,相機不會保留其他相機的子?
一旦啓動程序,創建預覽照相機,着色器添加到它,然後設置瀏覽器和預覽照相機添加到它。
後來我創建導出相機,其添加着色,紋理和回調,然後我添加了出口相機作爲孩子預覽照相機。到目前爲止,什麼都沒有呈現(即沒有0調用)。
發出呼叫addChild
(即在VS中達到中斷點,並且進一步進一步,我可以看到導出器相機現在是預覽相機的子節點)。但是,一旦我發出命令來實際製作屏幕截圖,導出器相機就不再是預覽相機的子節點(到目前爲止,已經進行了一些渲染調用)。
爲什麼會這樣,除了再次添加導出器攝像機之外,我該如何修復它?
在旁註:我開始使用computergraphics.stackexchange.com,就這個問題進行適合於該側或它意味着算法而不是實現?
謝謝,這個答案如何解決這個問題。 不幸的是,我的預覽和導出相機不使用相同的位置,出於某種原因,它總是在場景周圍旋轉90°,這使得正確設置它成爲一大痛苦。 – Tare