作者PythonScript (Python)
看板Cad_Cae
标题[请益] 游戏引擎为什麽比 CAD 引擎快
时间Sun Sep 3 22:58:11 2017
请问有亲自写过游戏引擎或 CAD 引擎的大大吗
一直以来都很好奇 但是都不知道真正的原因
相信大家都有用过 CAD 软体来做动画
非常麻烦而且效能也不是很好 尤其是零件一多的时候
那为什麽游戏引擎却可以运作的很顺畅
背後真正的原理纠竟是什麽呢 谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.132.214.52
※ 文章网址: https://webptt.com/cn.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