久久人妻牲爱视频,亚洲无码视频区,黑人操人妻一区二区,aaa在线视频,日产精品久久久久久久,99熟妇诱惑视频,激情只爱无码,国产精品日韩一区二区,超碰成人三级在线

我們不是做元宇宙的公司----《計(jì)算機(jī)圖形學(xué)入門》學(xué)習(xí)筆記分享

原創(chuàng) 4 收藏2 評論
舉報(bào) 2022-04-28

為什么“不是做‘元宇宙’的公司”?

最近經(jīng)常遇到這樣的情景:

“你們公司是做什么的?”

“我們是做線上虛擬空間,&%&¥#¥%R&$%#%...”

“哦,你們做的就是那個(gè)元宇宙啊?!?/p>

“我們做的事跟“真正的元宇宙”有一定的關(guān)系,但其實(shí)我們覺得關(guān)系并不大?!?/p>

作為從業(yè)者,我們相信元宇宙、web3.0確實(shí)是未來,但目前硬件、軟件和應(yīng)用場景都還不成熟,至于什么時(shí)候能成熟,在我們這一代能不能成熟,我們并不知道,現(xiàn)階段的“元宇宙”,還只是一個(gè)初期概念。

當(dāng)下熱衷于“元宇宙”概念的個(gè)人或者企業(yè),目的不外乎:綁定熱點(diǎn)提高知名度,提升形象拉高產(chǎn)品或服務(wù)的售價(jià),借勢概念炒高估值或股價(jià)。

但對于我們這樣一個(gè)年輕的團(tuán)隊(duì),從創(chuàng)立之初我們就決定靠自身的核心競爭力去做有門檻的事,在市場上站著把錢掙到,并且在這個(gè)前提下做好了長期發(fā)展的規(guī)劃和準(zhǔn)備,概念的紅利,我們確實(shí)不需要


不做元宇宙,那我們在做些什么?

靈境至維專注為品牌和藝術(shù)活動(dòng)打造開放和連接的線上虛擬空間。每一個(gè)虛擬空間包含可漫游的3D虛擬空間、虛擬形象,多媒體內(nèi)容、社交網(wǎng)絡(luò)和多樣化的互動(dòng)內(nèi)容,這些虛擬空間相互連通,形成完整的虛擬社區(qū)和世界。

掃碼可進(jìn)入OPPO MWC World虛擬空間

我們會(huì)用到的技術(shù)包括:虛擬空間、虛擬人、3D視覺、平面視覺、游戲引擎、云服務(wù)器、云渲染、各種名交互技術(shù)等,為我們服務(wù)的客戶解決真實(shí)的痛點(diǎn)和問題,為品牌和用戶創(chuàng)造價(jià)值。

去年底我們上線了國內(nèi)首個(gè)具有虛擬世界體驗(yàn)的基于Web的線上虛擬科技大會(huì)——OPPO未來科技大會(huì),活動(dòng)為期2天,線上空間訪問量超過200萬,活動(dòng)結(jié)束后2個(gè)月,空間訪問量仍有近50萬。在未來我們將提供包括針對會(huì)議活動(dòng)、音樂節(jié)、藝術(shù)展和線上社區(qū)等多種不同場景類型的虛擬空間服務(wù)。

相較于追逐熱點(diǎn),我們更熱衷于追求知識(shí),享受用知識(shí)去實(shí)現(xiàn)理想和夢想的過程,并堅(jiān)信一定可以實(shí)現(xiàn)。當(dāng)我們的才華撐不起我們野心的時(shí)候,靜下心來學(xué)習(xí)是我們唯一的選擇。


計(jì)算機(jī)圖形學(xué)基礎(chǔ)內(nèi)部學(xué)習(xí)分享

計(jì)算機(jī)圖形學(xué)跟當(dāng)下的許多技術(shù)和熱點(diǎn)息息相關(guān),游戲、影視、設(shè)計(jì)建模、計(jì)算機(jī)圖形界面、AR、虛擬人、動(dòng)漫等等,我們用戶做虛擬的空間的“實(shí)時(shí)渲染”這塊要想做好,需要知其所以然,這個(gè)學(xué)科就是基礎(chǔ)。

這是我們內(nèi)部的一次學(xué)習(xí)分享,分享人是靈境至維團(tuán)隊(duì)的前端主程,學(xué)習(xí)內(nèi)容是加州大學(xué)圣芭芭拉分校閻令琪教授在GAMES平臺(tái)上開設(shè)的《GAMES101: 現(xiàn)代計(jì)算機(jī)圖形學(xué)入門》課程(點(diǎn)擊可跳轉(zhuǎn)至觀看完整課程),分為22講,總時(shí)長約28小時(shí),根據(jù)課程內(nèi)容以及分享人的個(gè)人理解,將分為以下7個(gè)主要部分來進(jìn)行分享。

這門課程是國內(nèi)應(yīng)該是首個(gè)講底層原理的課程(之前只有國外),非常感謝閻令琪教授為這個(gè)領(lǐng)域在中國計(jì)算機(jī)圖形學(xué)發(fā)展做出的貢獻(xiàn)。

以下就是這次課程分享的內(nèi)容實(shí)錄:

一、圖形學(xué)概述

這部分主要介紹計(jì)算機(jī)圖形學(xué)的一些基礎(chǔ)概念。

1. 什么是計(jì)算機(jī)圖形學(xué)(CG)?和計(jì)算機(jī)視覺(CV)、數(shù)字圖像處理(DIP)有什么區(qū)別?

事實(shí)上,圖形學(xué)發(fā)展到現(xiàn)在,內(nèi)容已經(jīng)變得十分豐富,與很多學(xué)科都有交叉,目前并沒有一個(gè)很好的定義能夠準(zhǔn)確解答這個(gè)問題。

因此這里從數(shù)據(jù)處理的角度出發(fā),說一下圖形學(xué)與幾種相似學(xué)科的區(qū)別,便于大家理解。

首先,圖形學(xué)是一種將二維或三維的圖形數(shù)據(jù),經(jīng)過一系列數(shù)學(xué)算法,轉(zhuǎn)化為顯示設(shè)備上柵格圖像的科學(xué),核心概念是由數(shù)據(jù)到圖像,其主要應(yīng)用領(lǐng)域有電子游戲、影視、設(shè)計(jì)建模、計(jì)算機(jī)圖形界面等。

計(jì)算機(jī)視覺則與之正好相反,是通過給定的圖像,提取其中的信息,轉(zhuǎn)化為計(jì)算機(jī)可分析的數(shù)據(jù),核心概念是由圖像到數(shù)據(jù),主要應(yīng)用領(lǐng)域有人臉識(shí)別、無人駕駛等。

數(shù)字圖像處理則是一門將圖像轉(zhuǎn)成數(shù)字信號,由計(jì)算機(jī)處理的科學(xué),核心概念可以大致理解為由圖像到圖像,主要應(yīng)用領(lǐng)域有圖片美化、航天航空、顯微圖像分析等。

2. 圖形學(xué)有哪些子領(lǐng)域?

這里根據(jù)中科大教授劉利剛老師2013年發(fā)表的一篇文章為參考,將圖形學(xué)的主要研究領(lǐng)域分為建模、渲染、動(dòng)畫、人機(jī)交互,這門課主要涉及到前三種領(lǐng)域,重點(diǎn)介紹了圖形學(xué)渲染基礎(chǔ)。其中渲染根據(jù)渲染速度可分為實(shí)時(shí)渲染和離線渲染;根據(jù)風(fēng)格可分為真實(shí)感渲染(也叫基于物理的渲染)和非真實(shí)感渲染(NPR)。

3. 為什么要學(xué)計(jì)算機(jī)圖形學(xué)?

這個(gè)問題的答案就因人而異了,但歸根結(jié)底都是為了讓顯示的視覺效果達(dá)到賞心悅目的程度。


二、線性代數(shù)基礎(chǔ)

這部分主要介紹了學(xué)習(xí)圖形學(xué)所需的一些線性代數(shù)基礎(chǔ),其中主要是利用向量和矩陣,對數(shù)據(jù)進(jìn)行變換操作。

1. 向量

一個(gè)同時(shí)具有大小和方向,且滿足平行四邊形法則的幾何對象。

1.1 單位向量

指長度為1的向量

1.2 向量加法

1.3 向量點(diǎn)乘

  • 性質(zhì):滿足結(jié)合律和分配律和交換律

  • 笛卡爾公式:

  • 幾何意義:

1.4 向量叉乘

  • 性質(zhì):滿足結(jié)合律和分配律,但不滿足交換律

  • 笛卡爾公式

  • 幾何意義:求法線的內(nèi)外方向

2. 矩陣

Wiki:將一些元素排列成若干行,每行放上相同數(shù)量的元素,就是一個(gè)矩陣

2.1 矩陣乘法

  • 性質(zhì):滿足結(jié)合律和分配律,但不滿足交換律

  • 矩陣與矩陣相乘(A的列數(shù)必須等于B的行數(shù))

  • 矩陣與向量相乘

2.2 轉(zhuǎn)置矩陣

2.3 逆矩陣

2.4 正交矩陣(wiki)

  • 性質(zhì):矩陣轉(zhuǎn)置等于矩陣的逆

  • 幾何意義:

    行(列)之間兩兩正交,因此各個(gè)行(列)可表示為坐標(biāo)系的坐標(biāo)軸,通常用于表示線性變換。


三、圖形渲染管線

圖形渲染管線是實(shí)時(shí)渲染的底層工具。其最主要的功能就是根據(jù)一個(gè)虛擬的相機(jī)、3D的物件、光照等信息,渲染生成一個(gè)2D的圖片。

管線根據(jù)概念大致可分為四個(gè)階段(非標(biāo)準(zhǔn),以RRT書中為參考):

  • 應(yīng)用階段(課程中沒有提及);

  • 幾何處理階段;

  • 光柵化階段;

  • 像素處理階段。

需要注意的是,其中每個(gè)階段本身通常又可分為幾個(gè)小的階段。以下分別對這四個(gè)階段進(jìn)行梳理。

1.應(yīng)用階段

跟之后的幾個(gè)階段需要硬件參與的情況不同的是,應(yīng)用階段是全部通過軟件實(shí)現(xiàn)的,軟件開發(fā)者對這一階段有完全的控制。這一階段執(zhí)行的功能通常有:碰撞檢測、輸入檢測、動(dòng)畫等。

在應(yīng)用階段的結(jié)尾,CPU會(huì)將模型數(shù)據(jù)傳遞給GPU,這一過程被成為Drawcall。

2.幾何處理階段

幾何處理階段的主要目的是將3D空間的數(shù)據(jù)轉(zhuǎn)化到屏幕空間上,其中最主要的步驟就是MVP變換

2.1模型變換(Modeling Transformation)

模型變換的目的是將需要處理的幾何體頂點(diǎn)/法線數(shù)據(jù)統(tǒng)一到世界坐標(biāo)系下,這個(gè)過程主要會(huì)應(yīng)用到上一章節(jié)提到的線形代數(shù)的知識(shí)。

  • 齊次坐標(biāo)(引入齊次坐標(biāo)的目的是為了將仿射變換統(tǒng)一到一個(gè)矩陣中)

  • 縮放矩陣

  • 平移矩陣

  • 旋轉(zhuǎn)

- 繞坐標(biāo)軸旋轉(zhuǎn)

- 繞任意軸旋轉(zhuǎn)(羅德里格旋轉(zhuǎn)公式)

2.2視圖變換(View/Camera Transformation)

視圖變換的目的是規(guī)范化相機(jī)在世界空間下的位置和朝向。當(dāng)然,如果只移動(dòng)相機(jī)而不移動(dòng)物體,則會(huì)導(dǎo)致相機(jī)與物體的相對位置發(fā)生變化,因此在變換相機(jī)的同時(shí),也要改變物體。

  • 規(guī)范相機(jī)矩陣

以右手坐標(biāo)系為例,需要將相機(jī)位置e移到原點(diǎn),相機(jī)朝向g正對z軸負(fù)方向,相機(jī)頂部t正對y軸正方向,g與t的叉乘方向?yàn)閤軸正方向。然而按照這個(gè)思路很難做變換矩陣,因此需要巧妙借用正交矩陣的特性:轉(zhuǎn)置矩陣=逆矩陣,進(jìn)行逆變換:

經(jīng)過視圖變換的相機(jī)與物體如圖

2.3 投影變換(Projection Transformation)

投影變換的目的就是將三維坐標(biāo)投影成二維,其中涉及兩種類型:正交投影和透視投影。

  • 正交投影的視圖體通常為一個(gè)矩形框,正交投影將其轉(zhuǎn)成一個(gè)單元立方體。其主要特點(diǎn)就是變換后平行線要依然保持平行。這種變換是平移和縮放的組合。

  • 透視投影比較復(fù)雜,它的視圖體是一個(gè)截錐。應(yīng)用透視投影會(huì)讓物體有現(xiàn)實(shí)世界中“近大遠(yuǎn)小”的現(xiàn)象。求透視矩陣的思路是先將其轉(zhuǎn)化為正交投影,再進(jìn)行求解。那么目的就是找出透視轉(zhuǎn)化正交的矩陣,這里直接貼結(jié)論

求出轉(zhuǎn)化矩陣后,還有個(gè)問題,轉(zhuǎn)化后的正交矩陣的top、bottom、left、right怎么求呢?

3.光柵化階段

經(jīng)過幾何變換步驟,頂點(diǎn)已經(jīng)能夠投影到屏幕上了。而光柵化的目的則是將空間中連續(xù)的坐標(biāo)離散化為屏幕上一個(gè)個(gè)的像素點(diǎn)。其主要步驟可以分為:

1)使用包圍盒等算法求出圖像區(qū)間;

2)使用叉乘或漸進(jìn)增量等方法對像素進(jìn)行遍歷,求幾何內(nèi)部的點(diǎn)。

這個(gè)步驟也會(huì)產(chǎn)生一些問題,例如圖像的“鋸齒”問題,其生成原因是由于信號的采樣頻率跟不上圖像變化,業(yè)界目前也有一些相對可行的優(yōu)化算法,例如:MSAA(模糊邊界超采樣)、FXAA(基于數(shù)字圖像處理優(yōu)化)、TAA(基于上一幀對比數(shù)據(jù)優(yōu)化)。

4.像素處理階段

像素處理階段分為著色階段和合并階段,課程中主要對著色進(jìn)行了講解,而著色的目的就是計(jì)算出每個(gè)采樣像素點(diǎn)的顏色是多少并將結(jié)果儲(chǔ)存起來,要考慮的因素通常有:光照、著色頻率、紋理。

4.1光照模型

當(dāng)光照射到物體表面時(shí),物體對光會(huì)發(fā)生反射、透射、吸收、衍射、折射、和干涉,其中被物體吸收的部分轉(zhuǎn)化為熱,反射、透射的光進(jìn)入人的視覺系統(tǒng),使我們能看見物體。為模擬這一現(xiàn)象,我們建立一些數(shù)學(xué)模型來替代復(fù)雜的物理模型,這些模型就稱為光照模型。

光柵化技術(shù)的特點(diǎn)是只能考慮單個(gè)像素的顏色值,而不能考慮這個(gè)像素受其它像素影響的光照部分?;诖说墓庹漳P捅怀蔀榫植抗庹漳P?,課程中介紹了現(xiàn)階段比較常用的一種局部光照模型——BlinnPhong光照模型。

BlinnPhong光照模型主要由三部分組成:Diffuse(漫反射)、Specular(高光)、Ambient(環(huán)境光)。

  • Diffuse

  • Specular

  • Ambient

4.2著色頻率

知道光照模型等式后,還需要了解模型上每個(gè)著色點(diǎn)的分布,這里就需要引入著色頻率的概念,常見的著色頻率有三種:Flat Shading、Gouraud Shading、Phong Shading。分別對應(yīng)以下三種樣子:

從左到右的算法消耗依次增加,需要注意的是,Phong Shading雖然可以讓模型表面看上去更為光滑,但是卻解決不了地面模型邊界棱角的問題。

4.3紋理(Texture)

解決了光照模型和著色頻率的問題后,我們已經(jīng)能夠模擬光線照到物體上的現(xiàn)象了,那么接下來如何描述物體本身的復(fù)雜材質(zhì)呢?這里就要引入紋理的概念了,紋理就是使用預(yù)處理的數(shù)據(jù)(大多數(shù)是圖片)豐富3D表面的表現(xiàn)。

  • 如何將2D紋理對應(yīng)到3D模型的表面上?

通過UV(紋理坐標(biāo))來實(shí)現(xiàn),實(shí)現(xiàn)上UV通常都是通過3D設(shè)計(jì)工具(如c4d、blender)實(shí)現(xiàn)的。

  • 非頂點(diǎn)位置的屬性值如何計(jì)算?

插值,插值的實(shí)現(xiàn)主要用到重心坐標(biāo)。

  • 屏幕分辨率和紋理分辨率不一致怎么處理?

- 當(dāng)1屏幕像素 < 1紋素(texel),也就是紋理圖片不夠清晰,會(huì)產(chǎn)生鋸齒現(xiàn)象,此時(shí)通常使用線形插值的做法進(jìn)行優(yōu)化。通常的算法有Nearest、Bilinear、Bicubic。

- 當(dāng)1屏幕像素 >1紋素(texel),也就是紋理圖片過于清晰(通常出現(xiàn)在場景遠(yuǎn)處),會(huì)產(chǎn)生摩爾紋現(xiàn)象。常用的解決方案有Mipmap、Anisotropic Filtering、EWA(橢圓加權(quán)平均)過濾。

  • 部分紋理類型。

- 漫反射紋理

- 環(huán)境紋理

- 凹凸/法線紋理

- AO(環(huán)境遮擋)紋理

5. 圖形渲染管線作業(yè)


四、幾何圖形

正如渲染的目的是要將一個(gè)三維物體渲染成2D的畫面,幾何圖形部分的研究目的就是如何通過數(shù)學(xué)工具表示各種三維物體。

1. 表示形式

幾何的數(shù)學(xué)表示形式可分為隱式表示和顯示表示兩種:

1.1 隱式表示

隱式表示則是不通過笛卡爾坐標(biāo)來表示幾何圖形,例如:

  • Algebraic surface(代數(shù)曲面)

  • Constructive solid geometry (構(gòu)造實(shí)體幾何)

  • SDF(有距離函數(shù))

  • Level Set(水平集)

  • Fractals(分形)

隱式表示優(yōu)點(diǎn)在于根據(jù)給定點(diǎn)與隱式公式間的大小關(guān)系,可以很方便知道點(diǎn)是否在幾何體的內(nèi)部。缺點(diǎn)則是不方便進(jìn)行采樣。而顯示表示的優(yōu)缺點(diǎn)則與之相反。

1.2 顯示表示

顯示表示則通常有以下類型

  • Point Cloud(點(diǎn)云)

  • Polygon Mesh(多邊形網(wǎng)格)

  • The Wavefront Object File (.obj) Format

2. 曲線和曲面

構(gòu)造復(fù)雜幾何體最核心的問題是表示復(fù)雜的曲線和曲面。其中常見的算法有Bézier、B-splines、NURBS。課程中著重介紹來Bézier曲線與Bézier曲面。

2.1 Bézier曲線

  • 屬性

  • 幾何表示(de Casteljau Algorithm(德卡斯特里奧算法))

  • 代數(shù)表示(伯恩斯坦多項(xiàng)式)

  • 多段貝塞爾曲線如何保持平滑?

1)三點(diǎn)一線 

2)兩邊長度相等

2.2 Bézier曲面

曲面無非就是將曲線進(jìn)行升維,在做插值的時(shí)候多考慮一維的信息。

3. 網(wǎng)格處理

網(wǎng)格指的是三維多邊形網(wǎng)格模型,以下簡稱為“網(wǎng)格”。簡單來說,可以給網(wǎng)格下一個(gè)簡單定義:由多邊形集合定義的,用以表示三維模型表面輪廓的拓?fù)浜涂臻g結(jié)構(gòu)稱為“網(wǎng)格”,英文稱作“polygon mesh”或“mesh”。

而我們在項(xiàng)目中使用網(wǎng)格模型時(shí),經(jīng)常會(huì)存在面過多或者過少的情況,這時(shí)就需要對網(wǎng)格進(jìn)行處理,常見的網(wǎng)格處理形式分為三種:Mesh subdivision(網(wǎng)格細(xì)分)、Mesh simplification(網(wǎng)格簡化)、Mesh regularization(網(wǎng)格規(guī)范化)。

3.1 網(wǎng)格細(xì)分

網(wǎng)格細(xì)分則是將相對低面的模型轉(zhuǎn)化為多面。

目前常見有兩種實(shí)現(xiàn)算法:1. Loop細(xì)分:針對三角面的細(xì)分方式,將一個(gè)三角面轉(zhuǎn)化為四個(gè)三角面。2.Catmull-Clark細(xì)分:針對任意形狀的細(xì)分,經(jīng)過一次細(xì)分可將原本不是四邊的面轉(zhuǎn)化為四邊面。

3.2 網(wǎng)格簡化

網(wǎng)格簡化則是將相對高面的模型轉(zhuǎn)化為低面。

目前比較常見的算法是基于二次度量誤差

二次度量誤差(QEM,quadric error metric)指的是當(dāng)前頂點(diǎn)到其鄰域所有三角面(也稱關(guān)聯(lián)平面)的距離平方和。過程:

1)統(tǒng)計(jì)所有參與邊折疊的邊

2)計(jì)算所有頂點(diǎn)的QEM(v),計(jì)算所有邊的QEM(e)=QEM(v1)+QEM(v2)

3)根據(jù)QEM(e)的排序找到最小的QEM(e)的邊

4)折疊該邊并找到最優(yōu)的QEM的新頂點(diǎn)v’,刪除v1,v2,和相關(guān)face,更新v’的QEM為QEM(v1)+QEM(v2),更新相關(guān)聯(lián)的QEM(e)

5)重復(fù)3)、4)直到要求達(dá)到要求。

3.3 網(wǎng)格規(guī)范化

這塊課程中只是簡單提及,通過查資料了解到是與3D重建等技術(shù)相關(guān),游戲這塊用的并不多。


五、光線追蹤

之前在圖形渲染管線板塊有介紹BlinnPhong光照模型,其中有提到這種局部光照模型沒辦法處理全局光線傳播的效果,而現(xiàn)實(shí)世界中的場景是經(jīng)過無數(shù)次光線傳播再傳入人眼的。因此,要想渲染出更加逼真的效果,就需要引入光線追蹤的算法。

顧名思義,光線追蹤算法中對于光線的定義是非常重要的,這里圖形學(xué)中采用的是幾何光學(xué)的定義,主要把光線做了以下定義:

1)光線是沿直線傳播的;

2)光線間不發(fā)生碰撞;

3)光線到觀察點(diǎn)的路徑是可逆的。

根據(jù)第三點(diǎn)光路可逆的法則,我們就可以把光線的起點(diǎn)定在人眼(攝像機(jī)),以此來描述光線追蹤的步驟。

1. Ray Casting

從攝像機(jī)想投影平面的每一個(gè)像素點(diǎn)發(fā)出一條射線,通過射線尋找與物體的交點(diǎn),再將交點(diǎn)與光源進(jìn)行連線判斷交點(diǎn)是否在陰影中。

2. Recursive (Whitted-Style) Ray Tracing

Ray casting的過程仍然是局部的,那么如何引入全局概念呢?這里就用到了經(jīng)典的Whitted-Style路徑追蹤算法。算法中定義每一個(gè)交點(diǎn)的顏色貢獻(xiàn)是由直接光照、間接反射光照和間接折射光照(可能)組成的,將這些部分進(jìn)行權(quán)重累加,再使用BlinnPhong模型進(jìn)行著色,則得到投影平面上最終點(diǎn)的顏色。

3. 光線表示方程

將每條光線想象成一條射線,則這條射線由三部分組成:

  1. 起點(diǎn) - o

  2. 方向 - d

  3. 發(fā)射出去的時(shí)間(長度)- t

4. 光線求交

4.1 與隱式表面求交

4.2 與顯示表面求交

  • 更快的求交方法(M?ller Trumbore Algorithm)

補(bǔ)充信息

光線追蹤這塊這篇文章寫的非常詳細(xì):https://blog.csdn.net/qq_38065509/article/details/106299336?spm=1001.2014.3001.5502

4.3 加速結(jié)構(gòu)

遍歷每一個(gè)面求交點(diǎn)的性能消耗是非??植赖模铀俚拇篌w思路就是不直接遍歷面數(shù),而是使用包圍盒等算法進(jìn)行加速。

  • 軸對齊包圍盒

  • 有了包圍盒還不夠,我們還可以對場景進(jìn)行分區(qū),常見的分區(qū)算法有以下幾種

Oct-Tree(八叉樹):每次都切割八份

KD-Tree:每次都沿軸線切割一次

BSP-Tree:按一定算法沿任意軸切一刀

BVH(推薦):在KD-Tree的基礎(chǔ)上以包圍盒為單位進(jìn)行分割

BVH的一些優(yōu)化:每次都分割最長的邊、分割點(diǎn)以中心物體為參照、當(dāng)節(jié)點(diǎn)中包含很少的物體時(shí)則停止。

5. 現(xiàn)代光線追蹤算法

上面描述的whited-style光線追蹤模型雖然將全局光線傳播的算法引入到光照模型中,但仍然不夠準(zhǔn)確,原因有二:

1)光線傳播中只考慮當(dāng)前交點(diǎn)反射和折射出去的光線,而沒有追蹤漫反射的光線;

2)著色采用的還是BlinnPhong這個(gè)經(jīng)驗(yàn)?zāi)P?,無法精確的模擬真實(shí)物理的現(xiàn)象。

針對以上的問題,我們就要引入真實(shí)的物理概念來定義光線追蹤的現(xiàn)象,因此就有了基于物理的渲染(PBR),而輻射度量學(xué)就是這樣一套測量光線能量的學(xué)科。

5.1 輻射度量學(xué)

一些比較重要的物理概念:

  • Radiant Energy(輻射能):表示能量,單位:J(焦耳)。

  • Radiant flux(輻射通量/功率):單位時(shí)間的輻射能量,單位:W(瓦特)/ lm(流明)。

  • Radiant intensity(輻射強(qiáng)度):每單位立體角的輻射通量,單位:W·sr?1。

  • Irradiance(輻照度)*:入射表面的輻射通量(不帶方向)(從所有方向到達(dá)某一點(diǎn)的能量之和),單位:W·m?2。

  • Radiance(輻射率)*:每單位立體角每單位投射表面的輻射通量(帶方向),單位:W·sr?1·m?2。


5.2 雙向反射分布函數(shù)(BRDF)

直觀的理解,不同物體表面材質(zhì)自然會(huì)把一定方向上的入射亮度反射到不同的方向的光線上,如理想光滑表面會(huì)把入射光線完全反射到鏡面反射方向,其它方向則完全沒有。如理想粗糙表面會(huì)把入射光線均勻的反射到所有方向。因此所謂BRDF就是描述這樣一個(gè)從不同方向入射之后,反射光線分布情況的函數(shù),定義如下:

5.3 反射方程

5.4 渲染方程

5.5 如何解出渲染方程(蒙特卡洛積分)

當(dāng)一個(gè)積分很難通過解析的方式得到答案的時(shí)候可以通過蒙特卡洛的方式近似得到積分結(jié)果。

5.6 真實(shí)照片(左)與基于物理渲染的效果(右)的對比


六、材質(zhì)與外觀

這一章主要介紹以下一些基于物理的常見材質(zhì):

Diffuse/Lambertian Material

Glossy Material

Ideal reflective/refractive Material

Microfacet Material

Anisotropic Material(各向異性材質(zhì))


七、動(dòng)畫與模擬

1. 圖形學(xué)中的動(dòng)畫分類

1.1 Keyframe animation(關(guān)鍵幀動(dòng)畫)

1.2 Physical simulation(基于物理的模擬)

  • Mass Spring System(彈簧質(zhì)點(diǎn)系統(tǒng))

1.3 運(yùn)動(dòng)學(xué)(Kinematics)

  • Forward Kinematics

  • Inverse Kinematics

1.4 Rigging


1.5 Motion Capture

2. 動(dòng)畫相關(guān)的算法

2.1 單粒子模擬

  • 常微分方程(ODE)

  • 歐拉方法

  • 剛體模擬

  • 流體模擬

3. 動(dòng)畫制作流程


《我們不是做“元宇宙”的公司》今后將成為一個(gè)圍繞“虛擬空間”主題進(jìn)行專業(yè)知識(shí)分享的系列內(nèi)容,不定期在靈境至維公眾號推出,歡迎大家掃碼關(guān)注,希望你能在這里看到想要的內(nèi)容!

1651134796876123.jpeg

(掃碼關(guān)注“靈境至維”)

本文系作者授權(quán)數(shù)英發(fā)表,內(nèi)容為作者獨(dú)立觀點(diǎn),不代表數(shù)英立場。
轉(zhuǎn)載請?jiān)谖恼麻_頭和結(jié)尾顯眼處標(biāo)注:作者、出處和鏈接。不按規(guī)范轉(zhuǎn)載侵權(quán)必究。
本文系作者授權(quán)數(shù)英發(fā)表,內(nèi)容為作者獨(dú)立觀點(diǎn),不代表數(shù)英立場。
未經(jīng)授權(quán)嚴(yán)禁轉(zhuǎn)載,授權(quán)事宜請聯(lián)系作者本人,侵權(quán)必究。
本內(nèi)容為作者獨(dú)立觀點(diǎn),不代表數(shù)英立場。
本文禁止轉(zhuǎn)載,侵權(quán)必究。
本文系數(shù)英原創(chuàng),未經(jīng)允許不得轉(zhuǎn)載。
授權(quán)事宜請至數(shù)英微信公眾號(ID: digitaling) 后臺(tái)授權(quán),侵權(quán)必究。

    評論

    文明發(fā)言,無意義評論將很快被刪除,異常行為可能被禁言
    DIGITALING
    登錄后參與評論

    評論

    文明發(fā)言,無意義評論將很快被刪除,異常行為可能被禁言
    800

    推薦評論

    暫無評論哦,快來評論一下吧!

    全部評論(0條)

    任丘市| 米易县| 麦盖提县| 正宁县| 晋宁县| 利辛县| 盖州市| 巧家县| 灵丘县| 钟祥市| 黄大仙区| 柳州市| 定西市| 凌海市| 个旧市| 贵南县| 唐海县| 昔阳县| 大庆市| 安福县| 新干县| 华蓥市| 天水市| 乌审旗| 奉化市| 汨罗市| 武山县| 黄大仙区| 同江市| 洪泽县| 宜春市| 蓝山县| 津市市| 惠来县| 泸溪县| 开远市| 象州县| 洪雅县| 陆河县| 南川市| 柳州市|