三維軟體裡三角面與四邊面的區別與應用?知乎使用者2018-04-11 17:26:44

不一定。實時渲染(GPU)也支援rect,只不過GPU設計就是按三角形進行最佳化的,使用rect大多數時候並沒有什麼明顯的好處。甚至,4個點很可能不共面,徒增複雜性。

而另一方面,對於諸如動畫這種非實時渲染,其所採用的渲染演算法(如光線跟蹤)對於三角面並沒有特別優於rect的地方,都是與平面求交點。將一個rect切成兩個三角面導致要對同一個平面方程求兩次交,效能明顯下降。

—— 補充

評論裡有人對GPU支援RECT表示懷疑,我特地找了一下。的確,這不是非常通用(被一般知曉的)擴張。在AMD的OPENGPU專案當中,有如下定義:

https://

github。com/GPUOpen-Libr

ariesAndSDKs/Barycentrics12/blob/master/ags_lib/inc/amd_ags。h

enum AGSDriverExtensionDX11

{

AGS_DX11_EXTENSION_QUADLIST

在PS4的圖形庫當中,還有更多的擴充套件。NDA關係就不透露了。N卡的情況不瞭解,但是A卡(GCN架構)是確實支援的。

三維軟體裡三角面與四邊面的區別與應用?freeyy2018-04-11 18:20:13

你理解錯了,到底層gpu或者遊戲引擎或者渲染器,讀取的都是三角面。而四邊面實際上就是為了讓使用者方便編輯,或者顯示簡化才使用的,所以一個成熟的設計師製作的模型,其拓撲結構肯定是由四邊面(兩個三角面)做成的,不會出現大於四邊面的網格佈線。否則到底層時程式也會幫你自動把不合規矩的多邊面劃分成三角面。所以有些時候才會出現破面,重疊面,甚至模型破損。這種情況就是人為的原因,不能怪程式。

三維軟體裡三角面與四邊面的區別與應用?Grfxlf2018-04-11 21:47:04

eh。。。不覺得用quad你在編輯時候去ring更方便?

至於三角面,因為他是平面中最緊湊的結構,佔用記憶體更少,當然現在這個可能不算問題了……

三維軟體裡三角面與四邊面的區別與應用?Avatar Ye2018-04-12 00:47:49

DCC裡面的Quad本質上是兩個三角面,其中共享邊被隱藏了。你仔細檢視DCC的選項,一定會找到隱藏顯示該條邊的功能。

對於一般的3D建模,Quad的主要好處增強編輯的效率,方便複雜建模。Quad可以快速選擇Loop或者Ring;可以使佈線同模型本身的結構更加吻合,Skinning的時候更加容易控制。如果是Sub-division建模,Quad使得細分結果更加可預料和可控制。

最終進入渲染器或者遊戲引擎,全部的面都會被拆成三角面進行處理(其實DCC都支援一個面擁有任意三條以上的邊)。因為三角面是定義3D模型表面的最小單位,有很多處理上的方便之處。

回到問題,本質上所有3D模型都是三角面構成。Quad是我們為了增加編輯效率引入的。你可以使用三角面建模的角色進行動畫,但是會給自己增添很多麻煩和不便。所以前人的經驗就是動畫用模型(特別是需要Skinning的有機體)儘量用Quad。

三維軟體裡三角面與四邊面的區別與應用?瑞雲渲染Renderbus雲渲染農場2018-06-22 18:23:51

謝邀~~

Maya 使用四邊面主要影響在於動畫設定

聽說不用四邊面關節扭動那種的會爆點

三維軟體裡三角面與四邊面的區別與應用?

三維軟體裡三角面與四邊面的區別與應用?

拉動不同的點以後,四邊面和三角面不同的反應。你會發現,對於四邊面,他的三角面是靈活的,有兩種可能。根據你四個點的位置不同而得到不同的結果。

三維軟體裡三角面與四邊面的區別與應用?

剪影,左三角右四邊。

簡單理解就是用四邊面由兩個三角面組成 ,而這兩個三角形是可以根據系統計算而定的(也就是有最佳化空間) 但是模型為三角面的話則定死了佈線,在動畫設定環節遇到形變的話則最佳化空間不足。

Renderbus雲渲染農場-國內最大的雲渲染平臺