我是小毛驢,一個遊戲人,我的夢想是世界和平。轉載請註明出處:http://blog.csdn.net/liulongling/article/details/51519006
一、準備
在開始着色之前,我們需要創建一個場景(Scene)和球體。
1.1 Diffuse
漫反射計算一個簡單的(Lambertian)光照模型。光照強度隨着入射光線與表面的夾角減小而減小。光照強度只依賴於這個夾角,而且不會隨着相機的移動或者旋轉而改變。
Shader "liulongling/t1"
{
Properties
{
_MainTex("主紋理",2D)="white"{}
_DiffuseColor("漫反射",Color)=(1,1,1,1)
}
SubShader
{
Pass
{
Material
{
Diffuse[_DiffuseColor]//漫反射
}
}
}
}
1.2 Lighting
效果出來了有木有..
1.3 Specular Properties 高光屬性
Specular 和 Diffuse 使用同樣簡單的光照模型,另外增加了一個和觀察角度相關的反射高光。這個叫做Blinn-Phong 高光模型。它包含了一個反射高光,取決於物體反射高光物體表面角度,光線入射角度和觀察角度。這種高光計算方法實際上恰好是模擬實時光源模糊反射的一種方法。高光模糊等級通過檢視面板裏的Shininess來控制。
_Specular("高光",Color) =(1,1,1,1)
Specular[_Specular]//高光
1.4 SeparateSpecular
SeparateSpecular On | Off:開啓獨立鏡面反射。這個命令會添加高光光照到着色器通道的末尾,因此貼圖對高光沒有影響。只在光照開啓時有效!
1.5 Emission
自發光顏色,當不被任何光照所照到時,對象的顏色。
Properties
{
_Emission("自發光",Color)=(1,1,1,1)
}
SubShader
{
Emission[_Emission]//自發光
}
1.6 Shininess
加亮時的光澤度,在0和1之間。0的時候你會發現更大的高亮也看起來像漫反射光照,1的時候你會獲得一個細微的亮斑。
1.7 Cull
要想保持30FPS的同時處理數十萬的三角形,以現在的主流機器來說還是有些困難的。爲了提高效率,人們提出了很多方法,其中包括LOD、Culling 剔除,就是被擋住或視角以外的我們看不到的物體,因爲它們無關緊要,所以我們就不去繪製,以節省資源,提高場景的運行效率。比如立方體,你不會看到背離你的面,因此我們不需要繪製出背面,因此也被稱做背面剔除
語法:Cull Back | Front| Off
Cull Front—— 不繪製面向觀察者的幾何面
Cull Front—— 不繪製面向觀察者的幾何面
Cull Off —— 顯示所有面