OSG 視景器、漫遊器、攝像機與場景的關係



視景器包括幾個最主要的組件:漫遊器_cameraManipulator,用於實現交互式的場景漫
遊;事件處理器組_eventHandlers,負責處理視景器的事件隊列_eventQueue,主要是鍵盤/
鼠標等事件的處理;場景_scene,它包括視景器所對應的場景圖形根節點,以及用於提高節
點和圖像數據處理速度的兩個分頁數據庫;攝像機_camera 和_slaves,前者爲場景的主攝像
機,後者爲從攝像機組,不過OSG 並沒有規定一定要使用主攝像機來顯示場景,它的更重
要的作用是爲OSG 世界矩陣的計算提供依據。
攝像機是 OSG 視圖顯示的核心器件,沒有攝像機就沒有辦法將場景圖形的實景展現給
用戶。它包括:
1、視口(Viewport),它指示了攝像機顯示窗口的位置和尺寸。
2、圖形上下文(GraphicsContext),通常這也就是平臺相關的圖形顯示窗口(即
GraphicsWindow,對於Win32 系統而言,它實際上是通過CreateWindowEx 這個熟悉的API
來創建的),不過也可能是離屏渲染的設備(例如PixelBufferWin32)。
圖形窗口的另一個任務是及時把系統和用戶交互的事件反饋到事件處理器組中去。

3、渲染器(GraphicsOperation,更多時候是osgViewer::Renderer),這是整個OSG 篩選
(CULL)和繪製(DRAW)的關鍵,它的功能我們會在後面的日子裏慢慢展開。
此外,OSG 的顯示設置工具DisplaySettings 也會直接對攝像機的處理工作負責,大部
分設置選項都可以傳遞到攝像機對應的窗口特性(GraphicsContext::Traits)中,並在渲染過
程中發揮作用。

(摘自array《最長的一幀》)

發佈了46 篇原創文章 · 獲贊 8 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章