多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > Unity3D游戲開發從零單排(八) - Shader基礎

Unity3D游戲開發從零單排(八) - Shader基礎

來源:程序員人生   發布時間:2014-09-29 20:42:00 閱讀次數:2862次

提要

       今天要說的是Unity3D中shader相關的一些知識。不會做非常細致的講解(東西實在太多!- -),但是看完之后會知道shader是怎么用的。


一些術語

在shader編程中,有一些術語,有時候不明白的話容易被整懵圈,所以這里就簡單提一下。

Shading

Shading最開始指的在素描中給物體畫明暗調子,在圖形學中,其實就是給Mesh上色(Mesh就是一堆三角面片,包含頂點左邊,法線坐標,uv坐標之類的),wiki中說的是根據物體相對于光線的角度及其距離光源距離改變物體顏色生成photorealistic效果的過程。我們所編寫的處理shading的程序就叫做shader,中文叫著色器,程序的輸入是顏色,紋理,坐標等等,輸出的是mesh網格的最終的顏色。


光照模型

光照模型主要包括兩個部分,一部分是光源的定義,另一部分是mesh表面的光照計算。光源根據現實中的光源可以抽象成點光源,方向光源,聚光燈。mesh表面的光照計算主要計算三個部分,  環境光(Ambient light),漫反射光(Diffuse light),全反射光(Specular light)。


Lambert光照模型

此模型屬于經驗模型,主要用來簡單模擬粗糙物體表面的光照現象。

此模型假設物體表面為理想漫反射體(也就是只產生漫反射現象,也成為Lambert反射體),同時,場景中存在兩種光,一種為環境光,一種為方向光,然后我們分別計算這兩種光照射到粗糙物體表面所產生的光照現象,最后再將兩個結果相加,得出反射后的光強值。

首先是計算環境光的公式:

I_ambdiff = K_d * I_a;

其中,K_d為粗糙物體表面材質對光的反射系數,這個系數由程序編寫者在宿主程序中給出,I_a為環境光的光強,也就是環境光的顏色數值,一般是一個float3型的變量。

然后是計算方向光的公式:

I_ldiff = K_d * I_l * cosa;

由向量的點積公式可得:cosa = N

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 色综合久久久高清综合久久久 | 最近手机版免费中文字幕 | 波多野结衣中文字幕在线 | 叼嘿视频免费看 | 国内精品久久精品 | 好吊色永久免费视频大全 | 成人亚州 | 伊人久久大香网 | 波多野结衣久久高清免费 | 九九福利影院 | 欧美最新一区二区三区四区 | 欧美日本在线观看 | 亚洲精品国产第一区第二区国 | 欧美一级毛片激情 | 亚洲 欧美 校园 | 欧美三级欧美一级 | 老女人一级全黄肉体毛片 | 国产欧美日韩中文字幕 | 国产精品一区二区三区免费 | 久久精品国产精品亚洲20 | 69性视频| 日本欧美午夜 | 在线激情| 欧美日韩资源 | 逼逼片| 亚洲精品一区二区三区网址 | 免费网站在线观看高清版 | xxx性欧美人 | 久久一品道 | 欧美性色黄大片www喷水 | 久久国产精品成人免费 | 国内精品久久久久久网站 | 亚洲激情小视频 | 国产精品无码久久av | www.av在线.com | 最新亚洲精品国自产在线观看 | 中文字幕25页 | 欧美色图一区二区 | 国产91香蕉 | 小说区图片区综合久久88 | 免费a级作爱片免费观看中 免费a网站 |