最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【雜談】半條命圖形開發(fā)兩三事 第一章

2023-07-07 23:22 作者:B1ueMicr0  | 我要投稿

做視頻實在是太困難了,所以我先回歸到文字創(chuàng)作上來(?

PS:這篇文章可能將會是未來某期視頻的文案

本文是我的第一篇非技術(shù)的雜談類文章,但因為我業(yè)余專修圖形學,所以也會穿插很多您不知道的,別人也沒講過的東西?:)??

第一章:3D 游戲史前時代 - 金源誕生

1996 年,一款名為 Quake 的游戲橫空出世。它的開發(fā)商 id Software 開創(chuàng)了商業(yè)游戲引擎的先河。它是由我們的神 John Carmack (約翰·卡馬克) 領導一個很小的團隊開發(fā)的。

Carmack 的履歷已不用過多介紹,反正您只需要知道他是整個游戲引擎領域的神就對了。

Quake 憑借著實時?3D 渲染以及炫酷的特效迅速火了起來,并且直接推動了現(xiàn)代意義上的圖形卡的發(fā)展,3dfx Voodoo 圖形加速卡從某種意義上來說就是為 Quake 而生的。同時 Quake 所衍生出的的電子競技模式與現(xiàn)代 WASD 鍵位也對后來整個游戲界產(chǎn)生了巨大影響。所以 Quake 是 FPS 歷史上最偉大的游戲之一。

說到畫面渲染,Quake 的光照使用了預計算輻射度,用它來生成光照貼圖。雖然那會只提供了直接光照的光照貼圖,但是它提供的光影效果在當年是任何游戲都無法超越的。

1997 年,Quake 2 誕生。它補充上了間接光照的預計算,使得它成為世界上第一款具有全局光照系統(tǒng)的游戲。

同時,Quake 2 也是現(xiàn)代計算機圖形學入門的經(jīng)典案例,它的渲染流程包含了很多現(xiàn)在都在應用的思想。并且 Quake 2 的渲染底層是模塊化的,易于學習和理解。

談到這里,您可能已經(jīng)領會到了 Quake 2 引擎在當年是有多么得誘人了。

這時,幾位懷揣夢想的胖子?(Gabe Newell 等人)很想做一款能轟動業(yè)界的射擊游戲,他們早就看中了 id 的 Quake 引擎。經(jīng)歷了幾番周折,Gabe Newell (G 胖)?托他的前同事?Mike Abrash 的關系找上了卡馬克,接下來就是索取引擎授權(quán)的事了。

當然,卡馬克也慷慨地給了 V 社 Quake 2 的授權(quán)(Fun Fact: 卡馬克)。V 社修改了 Quake 2 引擎的大部分底層組件,用這款新的引擎做了另一款 FPS 歷史上最偉大的游戲之一 —— Half-Life 半條命,這塊新的引擎也有了一個新的名字 'GoldSource" (黃金起源引擎,俗稱金源)

半條命(或整個金源引擎)沿用了 Quake 2 的光照烘焙系統(tǒng)—— "QRAD",全稱 Quake Radiosity,翻譯過來就是 “雷神之錘輻射度編譯系統(tǒng)”,繼承了 Quake 2 的全局光照編譯功能,使得 1998 年正式發(fā)售的半條命也有不錯的畫面效果。

您可能在上上張圖發(fā)現(xiàn)了,Quake 2 的模型投射了陰影。而半條命(這里展示的是零售版)沒有,這是為什么呢?

其實在 E3 時期的半條命 Alpha 版演示中,它是有陰影的。

和現(xiàn)在普遍使用陰影圖(Shadow Map)的方法不同,半條命(沿用 Quake 2)是使用的 Stencil Shadows,是不是一頭霧水?其實現(xiàn)在普遍使用的方法最大的區(qū)別在于,Stencil Shadows 是通過計算一個投射體積 (Shadow Volume) 來實現(xiàn)的陰影,而 Shadow Map 則是一種生成深度圖的方式,再來比較深度緩沖區(qū)的深度信息來計算陰影。

左: Shadow Map?右: Stencil Shadow?原理示意

看到這里,您應該猜到了,Stencil Shadows 最大的一個缺陷就是陰影很硬,并且一般是無法解決的,模型有多硬他就多硬。您可以把它簡單理解為把模型拍扁后投射在貼圖上。并且它不夠 “聰明”,逐對象的 Stencil Shadow 投射 Volume 并不能處理不同陰影之間的信息,而不像 Shadow Map 是一種全局的方案。

標紅部分在實際渲染中體現(xiàn)的問題就是不同物體之間陰影的重疊,剛才那張半條命的截圖也顯示了。

半條命影子重疊了,我覺得不行 ······ V 社不是賣技術(shù)的 ······

—— 著名計算機圖形學家?moemiko?

不過,去除了這充滿 Bug 的 Stencil Shadows,對半條命來說確實是件好事。

最后,算上那些經(jīng)典的局部光照模型,就是大家熟悉的半條命的樣子了。

今天我們花了簡潔的篇幅講了半條命在圖形開發(fā),尤其是陰影這一塊的問題,下次我們接著講其它的。

請期待 第二章 - 初見起源

Reference

[1] Tomas A-M., et al. "Real Time Rendering Fourth Edition", CRC Press, 2018.

[2] Xi Wang, "01.游戲引擎導論 | GAMES104-現(xiàn)代游戲引擎:從入門到實踐", Bilibili website, 2022.

[3] moemiko, “半條命2在04年到底處于一個什么樣的水準?(光影篇)”, Bilibili website, 2022.


【雜談】半條命圖形開發(fā)兩三事 第一章的評論 (共 條)

分享到微博請遵守國家法律
云浮市| 云龙县| 昌黎县| 岢岚县| 南漳县| 仙桃市| 井冈山市| 囊谦县| 哈巴河县| 嘉义市| 普兰县| 汕头市| 通城县| 白银市| 平南县| 贵溪市| 安化县| 闵行区| 启东市| 盘山县| 宁安市| 鸡泽县| 天津市| 印江| 株洲市| 任丘市| 巴楚县| 色达县| 依兰县| 紫云| 河东区| 高尔夫| 凤翔县| 扶余县| 大港区| 永川市| 北辰区| 康乐县| 朔州市| 那坡县| 安塞县|