Shader學(xué)習(xí)滚停,以及工具Strumpy Shader Editor的使用沃粗。
(部分參考前輩阿趙的博客)
Strumpy Shader Editor入門教程 - 阿趙的日志 - 網(wǎng)易博客
+++++++++++++++++++++++++++++++++++++++++++
表面著色器的意義在于,通過(guò)數(shù)學(xué)層面的計(jì)算键畴,使得輸入(貼圖最盅,光線,設(shè)定數(shù)值)在模型 表面有更加可信的表現(xiàn)起惕,抑或創(chuàng)造出另類的美術(shù)風(fēng)格涡贱。
將一份數(shù)據(jù)的各個(gè)通道拆分開來(lái),使得程序員有能力從數(shù)據(jù)層面介入惹想,創(chuàng)造固定渲染管線所不能比擬的效果问词。
表面著色器的長(zhǎng)處在于“表面”或者說(shuō),其所創(chuàng)造的勺馆,是一種材質(zhì)戏售。相對(duì)更加難以掌握的頂點(diǎn)以及片段著色器,還是有些許劣勢(shì)的草穆。
Strumpy Shader Editor這款工具灌灾,其原理就是把著色器的各個(gè)操作環(huán)節(jié)可視化,用一個(gè)個(gè)模塊悲柱,來(lái)替代代碼本身锋喜。
在此對(duì)Strumpy Shader Editor的功能進(jìn)行一些分析和注解,以此鞏固自己的Shader學(xué)習(xí)豌鸡。
蓄之深者嘿般,發(fā)之遠(yuǎn),其養(yǎng)也不茍涯冠,則施之無(wú)窮炉奴。萬(wàn)事莫不如此。
++++++++++++++++++++++++++++++++++++++++++++++
Material輸出的常用通道
Albedo蛇更,漫反射的顏色值
Normal瞻赶,法線坐標(biāo)
Emission,自發(fā)光顏色
Specular鏡面反射系數(shù)
Gloss派任,光澤系數(shù)
Alpha砸逊,透明度系數(shù)
Clip,切片通道
++++++++++++++++++++++
constant常數(shù)
PI ? ? ? 圓周率 ? ? ? ?1 over PI ? ? ? ?PI的倒數(shù)
float , 浮點(diǎn)數(shù) ? ? ? float4 掌逛, 一個(gè)四維浮點(diǎn)數(shù)組
luminance ?师逸, 發(fā)光度
one ? ?,1 ? ?zero ? 豆混,0 ?
++++++++++++++++++++++
operation操作
add ?加法
All ?篓像,當(dāng)且僅當(dāng)輸入四維數(shù)組动知,沒(méi)有任何一個(gè)部分是 0的時(shí)候,輸出(1遗淳,1拍柒,1,1)用于條件運(yùn)算
Any 屈暗,當(dāng)輸入的四維數(shù)組,有任何一個(gè)部分不是0 脂男。那就就輸出(1,1,1,1)用于條件運(yùn)算
Ceil 养叛, 四維數(shù)組,每一個(gè)部分分別取整(最近)
Cross 宰翅,輸入兩個(gè)向量弃甥,返回一個(gè)和他們都垂直的向量,向量必須標(biāo)準(zhǔn)化
Degress 汁讼,Radians ? ?角度與弧度
Divide 淆攻,除法
Dot , 點(diǎn)乘
Floor 嘿架, 取整
Frac ?瓶珊, ?fractional component ?小數(shù)部分(貌似)
Max ? ?Min ? ,取大耸彪,取小
Multiply ?乘法
MXM ? 矩陣叉乘法 ? ? ?MXV ?矩陣叉乘向量
Pow ? 伞芹, ? 抬高一個(gè)特定的數(shù)值 ,大概是類似加法
Rsprt ? 蝉娜, 貌似是開方
Sprt ? ?唱较, ? 平方
Sign ? ? , ?區(qū)分正負(fù)與零召川,分別返回 1 ?-1 ? 0
Subtract ?南缓,減法
-V ? ?,取負(fù)數(shù)
VXM ? ?荧呐,向量叉乘矩陣
++++++++++++++++++++++++
function函數(shù)
Abs ? 汉形,取整
Acos ? ,Arccos()
Asin ? 坛增,ArcSin()
Assemble ? 获雕,將四個(gè)元素組合成為一個(gè)四維數(shù)組
ATan ? ,ArcTan()
Clamp ? 收捣, ?夾逼 ? ? ? ?arg3>arg1>arg2
Cos , ?Sin ?届案,Tan
Distance ?,距離
Fresnel ?,菲涅爾 ? 檢查每一個(gè)像素和視線的關(guān)系(貌似)
Length ?罢艾, 長(zhǎng)度楣颠。尽纽。。童漩。莫名其妙
Lerp ? 弄贿,混合 ?,用第三個(gè)數(shù)字控制前兩個(gè)數(shù)字的混合
log ?矫膨, ? 對(duì)數(shù)
Luminance ?差凹, 發(fā)光
Mask ? ,不明用途侧馅,貌似是把為零的成分找出來(lái)
Normalize ?危尿, 標(biāo)準(zhǔn)化(使長(zhǎng)度為1)
Parallax ? offset ?, ?視差 ? ?偏移
Reflect ? ?馁痴,反射 ?將第一個(gè)方向經(jīng)過(guò)第二個(gè)向量的法向量反射
Saturate ?谊娇, ?把數(shù)據(jù)控制在 (0,1)間
SmoothStep ? 罗晕, ?差值 ?類似Lerp
splat ?济欢,splatalpha ? 和地形相關(guān),暫時(shí)未知 小渊,攪和各個(gè)通道法褥?
Split ?,拆分四維數(shù)組
step ?粤铭,比大小挖胃,第一個(gè)數(shù)大為1 ,第一個(gè)數(shù)小為0
Swizzle ? 梆惯,類似splat
Tex2D ?酱鸭,讀取一張貼圖的信息
UnpackNormal ? ?,解開法線
UVPan 垛吗, ?和時(shí)間有關(guān)的偏移動(dòng)畫
++++++++++++++++++++++++++++++++++++++
今天先到這里