日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Grand Theft Auto V 图形研究(2)

發(fā)布時(shí)間:2024/1/8 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Grand Theft Auto V 图形研究(2) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

原文鏈接?http://www.adriancourreges.com/blog/2015/11/02/gta-v-graphics-study-part-2/

Level of Detail

如果說Rockstar(GTA的開發(fā)商)在一個(gè)領(lǐng)域優(yōu)于競爭對手的,那就是接下來要介紹的LOD。洛杉磯的游戲世界隨著多邊形和細(xì)節(jié)的多少,有許多不同的版本,即便是在線直播游戲時(shí)也不會(huì)被加載畫面阻塞,使得整個(gè)游戲體驗(yàn)更加的身臨其境。

Lights 光源

你看到的遠(yuǎn)處所有的小的光源都是真實(shí)的,你可以朝著他們的方向開車,并找到投射光源的燈泡。 Aaron Garbut 上面這段話是 ? Rockstar North的創(chuàng)始人和藝術(shù)總監(jiān) Aaron Garbut,在PS3版發(fā)布不久前宣布的。 他的描述是否準(zhǔn)確?讓我們思考下面這個(gè)夜景: 簡直像真的一樣:你看到的每個(gè)小的光斑都都是用一個(gè)使用32x32? texture的正方形渲染出來的。 ? ?? 盡管用? instanced geometry(實(shí)例化幾何體) ?進(jìn)行了大量的batch,但仍有數(shù)萬多邊形推送到了GPU ? ?? ? ?? ? ?? ? ?? ? ?? ? ?? ?? 而且這些并不只是靜態(tài)幾何體:車輛的前燈也在街道上移動(dòng),實(shí)時(shí)更新。當(dāng)然,這個(gè)距離并不需要渲染所有的車輛模型,只要兩個(gè)前燈就足以創(chuàng)作視覺。但如果你要接近一些遠(yuǎn)處的光源,LOD會(huì)增加,并最終繪制汽車的整體模型。

Low-Poly Meshes 低多邊形網(wǎng)格

我們回到前面討論的那一幀上,游戲世界里一些相當(dāng)廣闊的部分在一幀中被渲染。例如我們下面討論的山的渲染: ? ?? 那么遙遠(yuǎn)的小山究竟是什么樣呢? 原來這個(gè)山一點(diǎn)也不小,實(shí)際上Vinewood Hill(現(xiàn)實(shí)中的好萊塢山)是一個(gè)跨越了幾平方公里的區(qū)域,以及許多的房屋和建筑。 還有伽利略天文臺(tái)坐落在山頂上,以及?Sisyphus Theater(希臘劇場),?Lake Vinewood(好萊塢水庫),可以在所有的這些區(qū)域里探索或駕車,并由數(shù)千的draw-calls 和大量的多邊形來繪制。 但在當(dāng)前這個(gè)場景里,這個(gè)區(qū)域很遠(yuǎn),所以用低多邊形的版本來渲染:只有1個(gè) draw-call和2500多邊形。 ? 所有的渲染是用一個(gè)讀取了多張Diffuse texture的Mesh做到的。即便有一些工具可以把Mesh轉(zhuǎn)化為低多邊形的版本,但這個(gè)轉(zhuǎn)化并不能完全的自動(dòng)化處理,即便是 Rockstar的3D美術(shù)師花費(fèi)幾天時(shí)間來手動(dòng)的微調(diào)Mesh,也不會(huì)感到驚訝的。 另外一個(gè)例子, 是城市中“小首爾”區(qū)的幾條街,也是由一個(gè)draw-call來繪制的。
游戲世界的低多邊形版,在高效的渲染 reflection ?? cubemap這類不需要非常高細(xì)節(jié)和很高分辨率時(shí)非常的有用。游戲里如果只有一個(gè)LOD等級的話,實(shí)時(shí)的渲染環(huán)境 cubemap因?yàn)榘舜罅康膸缀误w,會(huì)非常昂貴或無法實(shí)現(xiàn)。 ?

Asset Streaming 資源流加載

像在GTA中給不同的LOD創(chuàng)建多個(gè)版本的游戲世界,是非常龐大和耗時(shí)的任務(wù),是一個(gè)相當(dāng)挑戰(zhàn)。但是,即便你完成了這些,也僅僅做到了一半:你可以在硬盤上放幾個(gè)G的model和texture,但如果不能找到方法來高效的加載到內(nèi)存或GPU顯存上就沒有任何意義。 GTA V是實(shí)時(shí)的流加載資源, 當(dāng)你進(jìn)入地圖的另一個(gè)區(qū)域時(shí), 加載/卸載model和texture。真正使人印象深刻的是它實(shí)時(shí)的實(shí)現(xiàn)了并在幾個(gè)小時(shí)內(nèi)保持穩(wěn)定。 技術(shù)上最大的成就,就是把這一些都壓縮到了家用機(jī)的內(nèi)存,并讓游戲得以流暢的運(yùn)行。我們流加載和壓縮到內(nèi)存的越多,就意味著可以比GTA4有更高數(shù)量級的細(xì)節(jié)。 Aaron Garbut 當(dāng)然,這種流加載系統(tǒng)也有其局限性:例如當(dāng)你切換角色時(shí),相機(jī)要從地圖的一個(gè)區(qū)域跳到另外一個(gè)區(qū)域,這種情況下,流加載系統(tǒng)會(huì)突然的過載,也是完全可以理解的,它需要5秒來整理和趕上進(jìn)度。但GTA5通過縮小/轉(zhuǎn)化/放大的動(dòng)畫很好的處理了這個(gè)過渡,并不會(huì)覺得完全像是加載畫面。 當(dāng)你正常駕車時(shí),移動(dòng)速度足夠慢,流加載系統(tǒng)就有足夠的帶寬來保持更新。開飛機(jī)的情況就不一樣了:它們對流加載系統(tǒng)來說太快了,這也就是為什么駕駛飛機(jī)的速度與現(xiàn)實(shí)相比大大的減慢了。飛行時(shí),mesh會(huì)以和駕車相比更低等級的LOD來渲染以緩解流加載的壓力,但有時(shí)仍然會(huì)有資源的"突然出現(xiàn)"。

Reflections 反射

因?yàn)榍懊娣治龅膸瑳]有那么多的水,讓我們通過下面場景更接近的看看游泳池和海洋是如何渲染的: 就像之前所見的,這個(gè)場景被正常的渲染:生成一張環(huán)境Cubemap(下圖),主要用來渲染物體對周圍的反射效果。 例如,游泳池的梯子的反射就歸功于這張cubemap。 注意角色和一些像梯子這樣的小的物體對象并沒有在這張cubemap里。 在渲染水之前場景看起來像這樣: 渲染水面和這個(gè)完全不同,它并不包括上面這張cubemap。

Reflection Map 反射貼圖

首先,是生成" planar reflection map ",這張圖分辨率很低,是240x120,處理類似cubemap的生成,但只生成一張buffer并且有梯子和角色出現(xiàn)。 場景被顛倒的渲染,隨后做對稱采樣就可以獲得正確的反射了。

Refraction Map 折射貼圖

圖像的一部分被提取出來:這是水面所在的部分用來創(chuàng)建折射貼圖,用來模擬后面的折射效果:光從水面下的射出。 這時(shí)加入一些“不透明水”的藍(lán)色(水越深顏色越強(qiáng)),以及 caustics( 焦散)效果。最終的貼圖為原始buffer的一半大小。

Combination 組合

要組合不同的buffer,再繪制一個(gè)矩形多邊形來表現(xiàn)游泳池的水面。依靠bump texutre,逐pixel的擾動(dòng)多邊形的法線作出一些水運(yùn)動(dòng)的錯(cuò)覺。 海面的情況不只是擾動(dòng)法線,繪制一個(gè)每幀更新頂點(diǎn)的整體的Mesh來模擬波浪的運(yùn)動(dòng)以替換之前的四邊形。 根據(jù)每個(gè)pixel的法線, ? pixel shader在不同的點(diǎn)獲取 reflection和 refraction ?map信息,通過菲涅爾方程計(jì)算出坐標(biāo)。 ? ?? ? ?? ? ?? ? ?? ? ?? ? ?? ? ?? ? ?? ? ?? ? ?? ? ?? ? ?? ? ?? ? ?? ? ?? ? ?? ? ?? ? ?? ? ?? ? ?? ? ?? ? ?? ? ?? ? ?? ? ?? ? ?? 最后的結(jié)果非常不錯(cuò),加入真實(shí)擾動(dòng)的水面效果非常有說服力。

Mirrors 鏡面

鏡面的渲染和水面是完全一樣的技術(shù),由于鏡子只反射光,甚至比水面更簡單,不用考慮來自鏡面后的折射效果。 不像水面,鏡面是完全平坦的,很難隱藏用 較低分辨率時(shí)問題,texel相當(dāng)?shù)拿黠@。通過設(shè)置給予較高的分辨率可以增加反射的質(zhì)量。 生成 ? reflection map需要額外的pass渲染場景而且相當(dāng)?shù)某林亍.?dāng)鏡面在視口外或者玩家距離很遠(yuǎn)時(shí)(這時(shí)看起來像一個(gè)黑色的四邊形),引擎可以避免執(zhí)行這個(gè)額外的pass。

Spotlights 聚光燈

記得在每幀開始前生成的環(huán)境貼圖并不包含任何角色和車輛,只有主要的建筑和風(fēng)景吧? 這種情況下,下圖中車的前燈是如何反射在潮濕的路面上的呢? 在幀分析的部分這個(gè)效果并不明顯,因?yàn)槟鞘且粋€(gè)白天的場景,但畢竟所有的 G-Buffers ?都被合并了,燈光也被順序的繪制。每個(gè)燈泡,光投射到的其他mesh被計(jì)算了,也包括像潮濕馬路的高光澤度表面上很強(qiáng)的反射高光的效果。 ?
每個(gè)光源都要繪制一個(gè)mesh,這個(gè)mesh類似一個(gè)細(xì)分的八面體,只是通過修改vertex shader,使它與光暈的形狀相匹配。 這個(gè)mesh沒有texture,目的是為了讓光暈內(nèi)所有接觸的Pixel可以調(diào)用一個(gè)Pixel Shader。Shader會(huì)根據(jù)Pixel深度,與光源的距離,法線以及specular/glossiness屬性,來動(dòng)態(tài)的計(jì)算光照。 上面的線框視圖就是用來計(jì)算路燈光源的影像的Mesh。 這里你可以看到延遲管線(Deferred)和前渲染管線(Forward)相比的一大優(yōu)勢:延遲管線可以在場景中渲染大量的光源,而 pixel shaders調(diào)用盡可能的少,只涉及了被光源影響到的pixel。而前渲染管線中,你必須要計(jì)算所有受光源影響的fragment,即使這個(gè) fragment實(shí)際并不任何光的影響,或者隨后被其他的fragment遮擋。 Well, since you made it this far, you can check-out the final part about post-effects.

轉(zhuǎn)載于:https://www.cnblogs.com/TracePlus/p/5123301.html

總結(jié)

以上是生活随笔為你收集整理的Grand Theft Auto V 图形研究(2)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩精品成人免费观看视频 | 1024你懂的日韩 | 欲色网站| 乱人伦中文字幕 | 欧美精品亚洲精品日韩精品 | 久久成人免费网站 | 日韩精品美女 | 日本不卡网 | 精品一区二区成人免费视频 | 亚洲精品高潮久久久久久久 | 北条麻妃一二三区 | 国产成人一区二区三区电影 | 一本大道熟女人妻中文字幕在线 | 国产精品永久在线观看 | 久久精品一区二区 | 不卡的av在线播放 | 国产第页| 毛片高清免费 | 精品一区二区久久久久久久网站 | 91麻豆精品国产午夜天堂 | 乳孔很大能进去的av番号 | 性开放的欧美大片 | 欧美日韩综合一区二区 | 青苹果av | 欧美第一页 | 91玉足脚交白嫩脚丫 | 欧美系列第一页 | 五月丁香 | 天天操天天弄 | 国产精品久久久一区二区三区 | 国产精品久久久久久免费免熟 | 三上悠亚ssⅰn939无码播放 | 久久精品国产亚洲av麻豆图片 | 欧日韩在线观看 | 亚洲精品二区 | 国产又粗又长视频 | 精品福利在线 | 粉嫩小泬无遮挡久久久久久 | 卡通动漫亚洲综合 | 亚洲性生活片 | 一区二区三区日本视频 | 日本黄色美女 | 国产真实乱偷精品视频 | h片在线观看 | youjizz少妇 | 亚洲自拍p | 女女互慰吃奶互揉调教捆绑 | 日韩黄色网络 | 国内精品卡一卡二卡三 | 97av视频在线 | 国产精品性爱在线 | 91精品免费| 亚洲精品久久久久久国 | 亚洲黄色片免费看 | 无码av免费精品一区二区三区 | 麻豆性生活 | 女人被灌满精子 | 一区二区三区人妻 | 午夜在线小视频 | 大香蕉毛片 | 国产精品老熟女一区二区 | 国产视频一区在线观看 | 久色精品视频 | 富婆如狼似虎找黑人老外 | 中文字幕日韩三级 | 亚洲一二三区在线 | av中字在线 | xxx日本黄色| 亚洲欧美福利 | 欧美呦呦呦 | 三级在线观看网站 | 成人日韩在线观看 | 丰满秘书被猛烈进入高清播放在 | 日韩av在线一区二区 | 日本少妇毛茸茸高潮 | 欧美高清精品一区二区 | 日韩手机在线视频 | 午夜久久久久久久久久久 | 国产麻豆影视 | 日本在线观看中文字幕 | 国产福利一区二区三区 | 香港三级日本三级韩国三级 | 色欲av无码一区二区三区 | 色综合av在线 | 极品探花在线 | 天天看夜夜 | 无码毛片aaa在线 | 色翁荡息又大又硬又粗又爽 | 少妇又色又紧又大爽又刺激 | 亚洲瑟瑟| 东京热无码av一区二区 | 日韩欧美精品在线播放 | 色葡萄影院 | 日本午夜三级 | 自拍视频国产 | 亚洲在线视频网站 | 9l蝌蚪porny中文自拍 | 国产视频不卡 | 国产高清在线观看视频 |