Shader
文章平均质量分 77
-013-
思从深而行从简
展开
-
Unity Shader 透明度效果
代码上实际上没几句,主要还是需要理解上面 透明度测试,透明度混合,什么是深度写入,为什么要开启写入和关闭写入的原因。原创 2023-09-24 11:00:41 · 804 阅读 · 0 评论 -
Unity Shader - 高光反射(Phong、Blinn-Phong)
高光反射 = 光源颜色 * 反射颜色 ∗ pow( max(0, 视角v与光反射向量r的余弦值) , 光泽度)高光反射 = 光源颜色 * 反射颜色 ∗ pow( max(0, 半角向量h与法线n的余弦值) , 光泽度)可以看到逐顶点渲染和逐像素渲染的区别:逐片元更加细腻。看下效果 左边是逐顶点,右边是逐片源。高光反射光照模型分为。原创 2023-06-11 19:00:26 · 696 阅读 · 0 评论 -
Unity shader - 纹理采样
对于三维模型,有两个最重要的坐标系统,一是顶点的位置(X,Y,Z)坐标,另一个就是UV坐标。什么是UV?简单的说,就是贴图影射到模型表面的依据。完整的说,其实应该是UVW(因为XYZ已经用过了,所以另选三个字母表示)。U和V分别是图片在显示器水平、垂直方向上的坐标,取值一般都是0~1,也 就是(水平方向的第U个像素/图片宽度,垂直方向的第V个像素/图片高度)。那W呢?贴图是二维的,何来三个坐标?嗯嗯,W的方向垂直于显示器表面,一般 用于程序贴图或者某些3D贴图技术(记住,确实有三维贴图这种概念!原创 2023-06-24 16:25:50 · 1612 阅读 · 0 评论 -
Unity Shader - 兰伯特漫反射
光源颜色 * max(0,cos(光方向和法线的夹角))公式原理:从上面图片可以看出光照方向 L 与物体法相 N形成的 余弦值越大,反射光越大,角度为0度的时候最强 Cos(0) = 1,大于等于90度的时候为0 Cos(90) = 0;所以我们首先需要计算出和的角度的余弦值。原创 2023-06-10 16:41:11 · 1385 阅读 · 0 评论