Delta3D/Page2
Delta3D 知識樹
哎呀,我以為樹的比喻已經過時了!?抱歉。
所以,有一些核心的知識領域,如果你對它們一無所知,你就會在 Delta3D 中遇到麻煩。
這是基本列表(倒置的樹,根部在先!)
- C++
- 基本圖形概念
- OpenGL
- Open Scene Graph (OSG)
- Delta3D
C++
Delta3D 是一套用 C++ 編寫的庫。因此,你將用 C++ 編寫你的核心 VSG(Vis, Sim, Game!)程式碼,以便輕鬆呼叫這些函式並使用這些類。你可以在學習的過程中學習 C++,但我們強烈建議你在維基百科或 cplusplus.com 上查詢任何你讀不懂的概念。
這裡有一個小測試。當我講以下這些詞語時,你是否感到自在?
- 方法
- 成員
- 派生類
- 虛擬函式
- 保護成員
- 介面
- 生物
忘了最後一個吧。這是一個關於瑞恩和史坦普的動畫片裡的一個愚蠢的引用。你將要篩選 Delta3D 和 OSG 的大量線上文件,以找到你需要的類和函式。這些文件像過時了一樣使用這些花哨的 C++ 術語。除非你對它們有足夠的瞭解,否則你將不得不服用大量的布洛芬。
基本圖形概念
知道什麼是球體嗎?平面呢?頂點、頂點法線、面、多邊形呢?向量呢?同樣地,在維基百科上查詢這些圖形術語,並點選一些連結。這很有趣。OpenGL 就是關於這些東西的,而 OpenGL 真的非常接近那棵神秘的知識樹的根部。閱讀一些 OpenGL 也不會有害,但我認為可以等到你開始更深入地進行自己的 VSG 開發的時候再看。
OpenGL
真的,在維基百科上查詢 OpenGL,你將找到你所需的一切。我們只需簡單地說:現存的低階圖形庫只有兩個,其中一個每個計算機都需要用來進行 3D 圖形處理:DirectX 和 OpenGL。DirectX 只能在 Windows 上執行。OpenGL 可以在其他所有平臺上執行,包括 Windows。Delta3D 使用 OpenGL。
Open Scene Graph
Delta3D 是一套函式和類,它們使構建 VSG 變得更容易、更省心。它包含很多假設你想要以特定方式構建 VSG 的東西(但不是太具體)。然而,存在一種名為場景圖的資料結構,它對你的程式碼試圖做什麼的假設更少,但仍然試圖提供幫助。場景圖主要試圖做的是隱藏一些你需要讓 3D 圖形顯示在螢幕上的令人討厭、龐大的 OpenGL 程式碼。Open Scene Graph 是一個非常成功、歷經時間考驗的開源場景相簿,你可以今天就下載並開始使用!當然,Delta3D 比你先一步做到了。它已經建立在 OSG 之上。Delta3D 是否像 OSG 對 OpenGL 所做的那樣,將所有令人討厭的 OSG 工作機制隱藏起來?不是的!或者說,部分隱藏了,但沒有你想象的那麼多。這一點非常重要:沒有了解 OSG 工作機制的來龍去脈,你很難在 Delta3D 上取得進展。這是悲哀的現實。在你能夠用 Delta3D 變魔法之前,你真的需要掌握兩個大型庫:Delta3D 和 OSG。
所以不妨現在就看看它:www.openscenegraph.org。這是不可避免的。當然,這本書也涵蓋了 OSG,但從試圖將其與 Delta3D 結合使用的人的角度來看。
Delta3D
最後,我們到達了樹木上閃閃發光的葉子,也就是 Delta3D 本身。有很多類和函式可以探索。而且它組織得非常好,所以你學習的每一部分都會牢固地幫助你理解仍然在你面前的東西。