假設,例如,我有一個10x10「布」網格,每個正方形都是兩個三角形。現在,如果我想動畫,我可以在CPU上進行彈簧計算。每個頂點都會有自己的「彈簧」數據,並希望能夠像任何類型的「布料」一樣反彈。如何在處理後從顯卡讀取信息?
但是,這將涉及最低約380?每幀彈簧計算。令人高興的是,每個頂點的計算是「令人尷尬的並行」 - 如果每個頂點有一個CPU,每個頂點可以在單個CPU上運行。因此,GPU在理論上是運行此類計算的理想選擇。
除(這是使用的DirectX/SlimDX) - 我不知道/我不知道我怎麼會/應該:
1)發送所有這些頂點數據,以顯卡(是的,我知道如何渲染東西,甚至寫我自己的每像素和紋理混合全局光照效果文件;但是,每個頂點必須能夠訪問至少三個其他頂點的位置數據)。我想我可以在TextureCoords中粘貼相關的頂點位置和頂點位置數,但是可能有不同的標準解決方案。
2)之後讀取所有的頂點數據,這樣我就可以更新內存中的網格。否則,每次更新將對完全相同的數據執行完全相同的結果,而不是像2 + 3 = 5 - 2 = 3時那樣添加2 + 3 = 5,2 + 3 = 5,2 + 3 = 5 + 1.5 = 4.5。
而且這可能是我在錯誤的方向看這樣做。
謝謝。