Catlike Shader学习记录
Catlike Shader学习记录
Ha啤酒来大杯的
不会就问我,问了也不一定会
展开
-
UnityShader多灯光
截屏2021-02-03 下午10.28.38.png2、添加一个DL(平行光),没有直接反应。改变混合 Blend One One,和Tags{"LightMode" = "ForwardAdd"},可以得到附加光源得效果3、如何渲染?:不透明第一次渲染对象时,会记录像素到摄像机最近表面距离(z缓冲),如果下一个像素得z缓冲大于已有的将不会去渲染。可以通过ZWrite Off关闭深...原创 2021-02-12 10:48:39 · 377 阅读 · 0 评论 -
UnityShader凹凸感
1、_TexelSize:纹理以这个为后缀, 后2个则是像素的数量如256x128。那么后2个就是256和128。而前两个值为x = 1/256, y = 1 / 1282、有限差分近似image.png根据这个图来理解编写,利用两点之间切线表示其深度void InitializeFragmentNormal(inout Interpolator i){ float2 del...原创 2021-02-20 00:15:26 · 679 阅读 · 0 评论 -
UnityShader阴影
1、裁剪空间:模型-视图-投影矩阵转换矩阵可以转换到此空间,之所以叫这个名字,是因为不可看见都被裁剪掉了2、当使用低质量阴影时,会出现明显的锯齿,此时可以缩小阴影距离来解决,但是这这样会使得超过最大距离的阴影消失3、开始编写阴影shaderPass { Tags { "LightMode" = "ShadowCaster" ...原创 2021-03-03 09:55:37 · 276 阅读 · 0 评论 -
UnityShader切线空间学习
此处连接凹凸感文章现在需要应用在立体的形状上1、可视化切线空间/// <summary>/// 可视化切线空间/// </summary>public class TangentSpaceVisualizer : MonoBehaviour{ public float offset = 0.01f; public float scale = 0....原创 2021-03-01 21:35:16 · 461 阅读 · 0 评论 -
UnityShader复合材质(包含shader材质编辑器编写)
自定义材质GUI,注释都有#if UNITY_EDITORusing UnityEditor;using UnityEngine;public class MyLightShaderGUI : ShaderGUI{ /// <summary> /// 平滑源 /// </summary> enum SmoothnessSource...原创 2021-03-05 21:44:38 · 743 阅读 · 0 评论 -
UnityShader更为复杂的复合材质
Shader函数float GetOcclusion(Interpolators i){ #if defined(_OCCLUSION_MAP) 这个理解就是 遮挡强度如果为1 那么直接就是采样的结果,如果为0 则为1,说明没有被遮挡 遮挡强度如果为0.5 那么就是1 ~ 采样结果的中间值(一半) return lerp(...原创 2021-03-16 17:18:18 · 212 阅读 · 0 评论 -
UnityShader透明度与半透明
确定透明alpha//透明度float GetAlpha (Interpolators i) { float alpha = _Tint.a; #if !defined(_SMOOTHNESS_ALBEDO) alpha *= tex2D(_MainTex, i.uv.xy).a; #endif return alpha;}在片元着色器上...原创 2021-03-16 21:24:27 · 148 阅读 · 0 评论