2011-11-02 59 views
11

過去幾周我一直在研究(舊)3D渲染技術,並認爲我現在對Doom中的3D渲染方式有一個公正的理解。 它使用光線投射渲染3D場景,爲物體使用精靈,因此不是「真正的」3D。 它也不允許真正的向上/向下查看,只能通過Y-剪切。Doom和Quake 3D渲染之間的區別

地震是ID的第一個「真正的」3D引擎,具有可以從不同角度查看並允許查看上下的對象。

現在我在學習這些技術時聽到了這個「真實的」3D,但我無法清楚地知道這個真正的3D意味着什麼。 Quake渲染與Doom渲染有什麼不同?

地震世界是否使用3D頂點,並且它們都是投射而不是用於相交的光線投射?

我很想聽到差異的明確解釋!

P.S.我知道Quake的源代碼是可用的,但是id軟件的FTP已經停機了好幾個星期了,我在其他任何地方都找不到它。如果有人知道在哪裏可以找到它,請告訴我。

回答

3

我不認爲有一個單一的通用定義。也許最真實的三維可能與您在現實生活中看到的不可區分,這意味着物體,照明,陰影渲染的照片逼真質量,充分考慮到實時發生的變化,創造深度感和也隨着觀衆的位置,使用左眼,右眼或雙眼以及改變焦點而改變。目前,我們的電腦和電視沒有如此強大的技術。到目前爲止,真實的體驗已經超過了普通消費者在市場上的一切。 (通過光照貼圖),陰影,更好的紋理貼圖(通過MIP貼圖,減少看遠處物體時可見的鋸齒僞影)和3D物體而不是精靈。它的遊戲空間本身並不平坦,因爲Doom和渲染允許像你說的那樣以不同的角度查看事物。

更多細節可以通過herehere找到。

如果您對如何完成所有這些酷酷的地震事情感興趣,請閱讀Michael Abrash的書籍,例如Ramblings in RealtimeGraphics Programming Black Book

+0

優秀的鏈接!這些對我來說非常有用。謝謝! –

+2

另外,看看[Fabien Sanglard博客](http://fabiensanglard.net)的完整id軟件代碼解釋 –

15

要指出的是,Doom的渲染引擎不是一個射線渲染器(就像Wolfenstein 3D一樣) - 也就是說,它不能爲屏幕的每一列投射射線。相反,它是一個BSP引擎。關卡的幾何被分成一棵二叉樹,並且這棵樹正在走下來呈現場景。

樹中的每個點都有兩個子樹,它們的排列順序取決於玩家相對於劃分它們的線的位置。這可以確保它們按順序渲染,以便遠處的牆被更近的牆擋住。

由於你解釋的原因,真正的垂直查找是不可能的,例如像Heretic和Hexen這樣的遊戲添加了使用Y-shearing的能力,這本質上是一種黑客攻擊。這就像延長屏幕的垂直高度,然後提供一個上下移動的窗口。

你可以找到更多關於the Doom wikiWikipedia的信息 - 兩者都來自write-up我寫的東西都在2年前。

希望這會有所幫助!

0

毀滅引擎有很大的侷限性。每張地圖基本上都是2D,3D的出現很大程度上是一種幻覺。地圖上的每一個點只有一個地板和一個天花板,所以永遠不會超過。沒有坡道,只有樓梯和牆壁。所有垂直線都精確地垂直繪製,並且沒有向上和向下看。

+0

你應該編輯你的帖子以獲得「vanilla」厄運,因爲技術上ZDoom(和其他端口)也是厄運發動機,但有3D地板,斜坡...等。 – Water

-2

厄運的3d出現並不比地震的錯覺更強烈,地震引擎可以顯示與厄運相同的地圖(如果移植),如果你不允許向上/向下看,那麼它仍然是一個真實的3d,因爲它在做什麼在引擎蓋下,儘管它看起來像厄運一樣?或者它會減少3d嗎?結果將是相同的。

+0

這不是關於外觀,而是關於引擎......如果我創建了一個可以顯示照片的照片查看器......它是否使它成爲引擎?根據你的說法,只有你不能擡頭看,不能走路的限制。這是關於引擎可以做什麼,而不是關於它如何使用。而Doom引擎有這些限制,使得它不是真正的3D引擎。 – Timmos