unity shader 學習筆記

2021-09-19 16:46:21 字數 1510 閱讀 4834

// upgrade note: replaced '_world2object' with 'unity_worldtoobject'

// upgrade note: replaced 'mul(unity_matrix_mvp,*)' with 'unityobjecttoclippos(*)'

shader "unity shader book/chapter 8/alphatest"

_cutoff("alpha cutoff", range(0, 1)) = 0.5

}subshader

//把當前螢幕的影象繪製在_refractiontex紋理中,後續的pass可以訪問它

//grabpass

pass

/*blend srcalpha onemunussrcalpha  //正常(normal),即透明度混合

blend oneminusdstcolor one       //柔和相加(soft additive)

blend dstcolor zero              //正片疊底(multiply),即相乘

blend dstcolor srccolor          //兩倍相乘(2x multiply)

blendop min                      //變暗(darken)

blend one one

blendop max                      //變亮(lighten)

blend one one

blend oneminusdstcolor one          //濾色(screen)

blend one oneminussrccolor       //等同於

blend one one                      //線性減淡(linear dodge)

*//*

zwrite可以取的值為:on/off,預設值為on,代表是否要將畫素的深度寫入深度快取中

*//*

cull指令來控制需要剔除哪個面的渲染圖元。

cull back 剔除背面,背面不會渲染

cull front 剔除正面,正面不會渲染

cull off   關閉剔除功能,所有的渲染圖元都會被渲染

*/cgprogram

#pragma vertex vert

#pragma fragment frag

#include "lighting.cginc"

struct a2v

;struct v2f

;fixed4 _diffuse;

sampler2d _maintex;

float4 _maintex_st;

fixed _cutoff;

v2f vert(a2v v)

fixed4 frag(v2f i) : sv_target

endcg}}

fallback "transparent/cutout/vertexlit"

}

unity shader 學習筆記(2)

自定義顏色變數,在材質面板設定顏色來改變物體的顏色 properties subshader 片斷著色器主要處理最終顯示在螢幕上的畫素結果 float4 flag sv target endcg 最終結果 cg hlsl中的資料型別和shader屬性中資料型別 cg hlsl中的資料型別 浮點型別 ...

unityshader學習筆記3

phong高光反射 標準光照模型也被稱為phong光照模型,早期的遊戲引擎中往往只有乙個光照模型,就是標準光照模型。標準光照模型只關心直接光照,也就是那些直接從光源發射出來照射到物體表面後經過物體表面的一次反射直接進入攝像機的光線。如圖,反射光與視角的夾角越小,光強越大 反射光與視角夾角的余弦值co...

unity shader學習筆記2

官網文件 language syntax 包括標量,向量,矩陣,陣列,結構體,著色器,紋理等資料型別 和c c 差不多.bool 正確或錯誤。int 32位有符號整數。uint 32位無符號整數。dword 32位無符號整數。half 16位浮點值。僅出於語言相容性提供此資料型別。direct3d ...