[請益] 遊戲引擎為什麼比 CAD 引擎快

作者: PythonScript (Python)   2017-09-03 22:58:11
請問有親自寫過遊戲引擎或 CAD 引擎的大大嗎
一直以來都很好奇 但是都不知道真正的原因
相信大家都有用過 CAD 軟體來做動畫
非常麻煩而且效能也不是很好 尤其是零件一多的時候
那為什麼遊戲引擎卻可以運作的很順暢
背後真正的原理糾竟是什麼呢 謝謝
作者: OrzOGC (洞八達人.拖哨天王)   2017-09-04 08:40:00
CAD是一堆數學式,遊戲是一堆簡化過的3角面
作者: sam37520 (迷Apple!)   2017-09-04 09:26:00
遊戲很多場景是貼圖,或是簡化的模型
作者: yaurtusn (擎天崗小牛)   2017-09-04 09:30:00
游戲只丟場景的資料給3D晶片跑,CAD應該是跑整個圖檔的CAD 不知道有沒有用到 3D晶片的效能?
作者: gamer   2017-09-04 23:33:00
3D遊戲的3D只有表面網格而已,內部是空的,故浮點運算所需的數量較少。
作者: PythonScript (Python)   2017-09-05 00:23:00
假設我在遊戲引擎匯入 CAD 的圖 馬達螺絲都還會留著表達的面不會比 CAD 少 遊戲引擎一個面要由好幾個三角形舖面而成 每個三角形的點位也是不少 都會佔用記憶體 如果 CAD 是數學式 那不是應該會用到更少的記憶體嗎? 一個方程式占用不了多少文字但是遊戲引擎卻需要記下很多三角形的點位所以一直很困惑 如果要表達的面是一樣多直覺遊戲引擎的鋪面需要記下更多的三角形當然實際是一定是遊戲引擎快多了
作者: nickexz (WindWater)   2017-09-05 19:03:00
DirectX與OpenGL也要考慮進去多數遊戲是配合DirectX ,而CAD軟體多是配合OpenGL
作者: gamer   2017-09-06 01:15:00
不是你想的那樣,繪圖軟體在計算曲面是需要一個高精度的近似解,所以每當你變動上面的參數時,都需要重新計算這個解而隨著曲面越複雜,使用的近似方程式也會越複雜,求解疊代的數目也會隨之增加,這也是為什麼隨著特徵複雜化,重新計算的時間並不是線性成長,而是類似指數成長。但遊戲引擎的做法是把這個曲面用網格給離散掉,所以並不需要經過疊代求解,只要重新計算節點的下個位置就好,因此在使用網格數量不是特別大的情況下,求解的速度會比繪圖軟體快。然後如果要求到非常精細的表面解析度,網格數量大到某一個程度運算量也有可能比繪圖軟體更高
作者: PythonScript (Python)   2017-09-06 18:12:00
原來是這樣 方程式沒幾個字 但是真正花時間的是求解本身 解釋的很有道理 感謝!
作者: RFV123 (下次要更誠實)   2017-10-25 02:29:00
就實體不實體的問題

Links booklink

Contact Us: admin [ a t ] ucptt.com