百人計(jì)劃圖形1.1學(xué)習(xí)筆記
基于對莊懂大佬技術(shù)美術(shù)入門課(美術(shù)向)的學(xué)習(xí)后,開始轉(zhuǎn)向may佬的百人計(jì)劃進(jìn)行學(xué)習(xí),學(xué)習(xí)中對莊懂大佬課程中所學(xué)的東西進(jìn)行鞏固,并開始進(jìn)行作品集的準(zhǔn)備,希望能在秋招中找到相關(guān)的工作。(本人網(wǎng)絡(luò)工程專業(yè),自6月中旬才開始學(xué)習(xí)TA相關(guān)內(nèi)容,引擎目前就只學(xué)習(xí)了unity,希望自己能趕在秋招結(jié)束前學(xué)習(xí)到一定水平找到心儀的工作)
整體流程

應(yīng)用階段一般在CPU中完成,例如:從內(nèi)存上讀取模型數(shù)據(jù)或貼圖


1.1基本場景數(shù)據(jù)
·場景物體數(shù)據(jù):位置、旋轉(zhuǎn)、縮放等
·物體網(wǎng)格數(shù)據(jù):頂點(diǎn)位置、UV貼圖等

光源信息:
·光源類型:方向光、點(diǎn)光、聚光等
·位置、方向、角度等其他參數(shù)

攝像機(jī)參數(shù):
·位置、方向、遠(yuǎn)近裁剪平面
·正交/透視(FOV)
·視口比例/尺寸等


以shader forge展示相關(guān)內(nèi)容(代碼不太好截圖,懶)


八叉樹應(yīng)該和數(shù)據(jù)結(jié)構(gòu)中的樹杈差不多?



2.幾何階段

cvv:頂點(diǎn)是否處于視椎體內(nèi),不在就剔除。
2.1頂點(diǎn)著色器-視圖變換

mvp矩陣,unity自行完成
2.2曲面細(xì)分

幾何著色器(基于圖元的操作)——可選步驟

根據(jù)給定圖元生成更多圖元,例如上圖三角形生成三角形
2.3投影
將生成的物品投影在屏幕中

物體世界坐標(biāo)中的xyz/w進(jìn)行投影,w=1為正交。
2.4裁剪

設(shè)備坐標(biāo)系在OpenGL和D3D中有所區(qū)別
OpenGL中xyz3個(gè)維度由-1到1;D3D中xy維度由-1到1,z維度由0到1
2.5屏幕映射

將xy維度坐標(biāo)映射在屏幕坐標(biāo)上,屏幕坐標(biāo)以屏幕大小為主
OpenGL中起始原點(diǎn)為左下方,d3d為屏幕左上方

三角形設(shè)置

得到相關(guān)信息后,對三角形像素進(jìn)行遍歷




4.1片元著色

莊懂大佬的課程中似乎有演示過?記不清了



