2012-06-02 57 views
0

我正在用OpenGL處理​​建構實體幾何(CSG)建模。OpenGL中的CSG建模

我想知道如何實現二進制操作。我讀了一些關於金羽算法和我知道的OpenCSG,但在閱讀its source code後,我發現它太複雜了。我只需要一個簡單的最短的OpenGL例子來實現它。

沒有在算法只要限制,因爲它是很容易實現。

回答

2

尼科爾流星錘是正確的 - 的OpenGL不會CSG幫助,它只是提供了一種方法來繪製3D事情到2D屏幕上。 OpenCSG基本上是通過使用OpenGL的depthbuffers,模具和着色,使其出現是3D對象已經對他們進行布爾運算使用「假」 CSG。

CSG是一個艱鉅的任務,我懷疑你會找到一個「算法容易理解」 看一看這個項目:http://code.google.com/p/carve/這對三角形執行CSG /面孔,你會再畫到OpenGL的

+0

有沒有關於如何使用OpenGL深度緩衝區,模板和着色器來實現它的文章? – Ovilia

+0

OpenCSG將是最佳找到的地方,但是如果您發現它很複雜,那麼我會推薦openGL紅皮書 - 我總是會在更好地理解openGL的時候回顧一下:www.amazon.com/OpenGL-Programming-指南官方學習/ DP/0321552628 – sergeantKK

7

OpenGL不會幫你。 OpenGL是一個渲染庫/ API。它繪製點,線和三角形;它是由告訴它畫什麼。 OpenGL不會維護一個場景,甚至沒有連貫幾何對象的概念。因此CSG不是進入OpenGL的東西。

+0

我有一個CSG樹和相應的數據結構。但是如果我的數據結構告訴我這樣做,我該如何呈現'intersection'? – Ovilia

+0

我認爲OpenGL可以幫助,因爲OpenCSG是基於它的。我需要的是易於理解的算法。 – Ovilia

+0

向下投票不僅因爲這個答案沒有幫助,而且因爲有繪製導向的方法來繪製CSG操作的結果;這種方法通常嚴重依賴GPU(OpenGL或同等)代碼,所以我覺得這個答案有誤導性。 – 2014-05-31 10:41:24