作者PythonScript (Python)
看板Cad_Cae
標題[請益] 遊戲引擎為什麼比 CAD 引擎快
時間Sun Sep 3 22:58:11 2017
請問有親自寫過遊戲引擎或 CAD 引擎的大大嗎
一直以來都很好奇 但是都不知道真正的原因
相信大家都有用過 CAD 軟體來做動畫
非常麻煩而且效能也不是很好 尤其是零件一多的時候
那為什麼遊戲引擎卻可以運作的很順暢
背後真正的原理糾竟是什麼呢 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.132.214.52
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Cad_Cae/M.1504450694.A.486.html
1F:→ OrzOGC: CAD是一堆數學式,遊戲是一堆簡化過的3角面 09/04 08:40
2F:推 sam37520: 遊戲很多場景是貼圖,或是簡化的模型 09/04 09:26
3F:→ yaurtusn: 游戲只丟場景的資料給3D晶片跑,CAD應該是跑整個圖檔的 09/04 09:30
4F:→ yaurtusn: CAD 不知道有沒有用到 3D晶片的效能? 09/04 09:32
5F:推 gamer: 3D遊戲的3D只有表面網格而已,內部是空的,故浮點運算所需 09/04 23:33
6F:→ gamer: 的數量較少。 09/04 23:36
7F:→ PythonScript: 假設我在遊戲引擎匯入 CAD 的圖 馬達螺絲都還會留著 09/05 00:23
8F:→ PythonScript: 表達的面不會比 CAD 少 遊戲引擎一個面要由好幾個 09/05 00:24
9F:→ PythonScript: 三角形舖面而成 每個三角形的點位也是不少 都會佔用 09/05 00:24
10F:→ PythonScript: 記憶體 如果 CAD 是數學式 那不是應該會用到更少 09/05 00:25
11F:→ PythonScript: 的記憶體嗎? 一個方程式占用不了多少文字 09/05 00:25
12F:→ PythonScript: 但是遊戲引擎卻需要記下很多三角形的點位 09/05 00:25
13F:→ PythonScript: 所以一直很困惑 如果要表達的面是一樣多 09/05 00:26
14F:→ PythonScript: 直覺遊戲引擎的鋪面需要記下更多的三角形 09/05 00:26
15F:→ PythonScript: 當然實際是一定是遊戲引擎快多了 09/05 00:26
16F:→ nickexz: DirectX與OpenGL也要考慮進去 09/05 19:03
17F:→ nickexz: 多數遊戲是配合DirectX ,而CAD軟體多是配合OpenGL 09/05 19:06
18F:推 gamer: 不是你想的那樣,繪圖軟體在計算曲面是需要一個高精度的近 09/06 01:15
19F:→ gamer: 似解,所以每當你變動上面的參數時,都需要重新計算這個解 09/06 01:16
20F:→ gamer: 而隨著曲面越複雜,使用的近似方程式也會越複雜,求解疊代 09/06 01:17
21F:→ gamer: 的數目也會隨之增加,這也是為什麼隨著特徵複雜化,重新計 09/06 01:18
22F:→ gamer: 算的時間並不是線性成長,而是類似指數成長。 09/06 01:18
23F:→ gamer: 但遊戲引擎的做法是把這個曲面用網格給離散掉,所以並不需 09/06 01:19
24F:→ gamer: 要經過疊代求解,只要重新計算節點的下個位置就好,因此在 09/06 01:20
25F:→ gamer: 使用網格數量不是特別大的情況下,求解的速度會比繪圖軟體 09/06 01:20
26F:→ gamer: 快。然後如果要求到非常精細的表面解析度,網格數量大到某 09/06 01:21
27F:→ gamer: 一個程度運算量也有可能比繪圖軟體更高 09/06 01:21
28F:→ PythonScript: 原來是這樣 方程式沒幾個字 但是真正花時間的是求 09/06 18:12
29F:→ PythonScript: 解本身 解釋的很有道理 感謝! 09/06 18:12
30F:推 RFV123: 就實體不實體的問題 10/25 02:29