我想創建或找到一個開源的元球皮膚系統,它使用元球,體素化來創建網格。我在C \ C++和OpenGL有3年的經驗。然而,我不知道如何解決這個問題。我想要的是一種實現方式或一種構建像這樣的系統的方法。任何想法/想法?在OpenGL中創建和實現一個元球皮膚系統
這裏的內膽筆記的人誰正在研究使用該系統的發動機的鏈接: http://chrishecker.com/My_liner_notes_for_spore
我想創建或找到一個開源的元球皮膚系統,它使用元球,體素化來創建網格。我在C \ C++和OpenGL有3年的經驗。然而,我不知道如何解決這個問題。我想要的是一種實現方式或一種構建像這樣的系統的方法。任何想法/想法?在OpenGL中創建和實現一個元球皮膚系統
這裏的內膽筆記的人誰正在研究使用該系統的發動機的鏈接: http://chrishecker.com/My_liner_notes_for_spore
我在C \ C++ 3年經驗和的OpenGL。然而,我不知道如何解決這個問題。
我覺得這很難相信。
你需要什麼:
元粒子系統包括幾個 「元球」,其中 「發射」, 「能量」 的。 通過meteball排出的「能量」可以是正面/負面,並且通常隨着距離metaball的距離而下降。衰減與點光有點相似,只是可以使用任何數學體而不是點(只要可以計算距離)。
對於空間中的任何給定點,元球系統的「能量」可以是系統中所有元體的所有能量的總和(它們隨距離減小,記住?)。
現在,鑑於這個「能量場」,您可視化metabody系統,就好像您將可視化iso表面(或任何其他程序表面)一樣。
對於任何空間點,如果「能量」低於特定的thresold,則此點位於由元微粒形成的「網格」之外。 如果「能量」高於thresold,則點在由變形粒子形成的「網格」內。
兩點爲您提供了分段,並且知道線段,您可以計算哪個線段穿過網格的「表面」的點。
現在,使用「行軍立方體」算法,通過一定的空間區域走過,你會得到一個網格。
法線是通過對位於網格表面上的點的小偏移(例如x/y/z + - 0.01)處的能級進行採樣來計算的。
如果這個解釋很難,那麼我認爲nvidia sdk有進行立方體算法的例子。閱讀示例,將相同的想法應用於元微粒。
這裏就是你可以用這種算法得到:
感謝。對不起,不知道。我是自學成才的。我能夠實現它。現在我正在嘗試使用它進行實時操作。 – Boodz