2010-07-20 50 views
2

我現在使用步進立方體算法實現項目(從CT圖像實時渲染人類牙齒)。下面是渲染結果:幫助:如何平滑Marching Cubes實時生成的網格?

http://www.freeimagehosting.net/uploads/4c2e2c94be.jpg

你可以看到,由MC產生的網不是那麼順利。你們是否知道可以應用於MC輸出的實時平滑算法?或者,有沒有可以產生光滑表面的MC的改進版本?

任何幫助將不勝感激!

請注意,平滑算法需要快速,因爲以後我必須在大約30HZ時使用MC,以便在交互式變形過程中重新計算等值面。

凱文

+0

順便說一句,凱文 - 你是否在某處發佈你的工作成果,可能作爲開源? – Kos 2010-12-02 09:48:19

+0

爲了一個可能的選擇,看到這個答案(我從來沒有得到評估):http://stackoverflow.com/questions/3894283/adaptive-implicit-surface-polygonization/3943906#3943906 – ergosys 2011-10-21 04:29:56

回答

1

Catmull-Clark subdivision是一個很好的算法,給出了相當不錯的成績平滑。您可以多次應用它。

該算法實現起來相當簡單。

關於它是實時的,到目前爲止我只實現它靜態,但 - AFAIK - 它是絕對有可能實現它作爲幾何着色器。

還有在Blender中使用的smoothing algorithm。它不是基於細分(它不會修改頂點或面數);它只是重新定位頂點以減少相鄰頂點之間的角度。再次,應該有可能在GLSL中實施,顯然是實時的。

這兩個可以一起使用。

0

只是一張支票。如果您有頂點重複計算法線將不會有平滑效果。因此,在進行多維數據集算法之後,請確保沒有重複的頂點。我有同樣的問題,然後我刪除重複現在我有一個光滑的網格