Shader
刘建宁
这个作者很懒,什么都没留下…
展开
-
Shader - 编写Surface Shader
如果你还未了解过Shader lab 建议先了解一下Shader Lab 相关内容:跳转接口。编写与光照相互做的着色器是很复杂的,有不同的灯光类型,不同的阴影选项,不同的渲染路径,着色需要以某种方式处理所有的复杂性。Unity中的Surface Shader是一种代码生成方法,它使编写着色比使用顶点/片段着色器要容易的多,Surface Shader只是生成所有需要手工编写的重复性的代码,仍然...翻译 2020-03-28 16:42:22 · 472 阅读 · 0 评论 -
Shader - Unity中的渲染管道
着色器用于定义对象的外观(材质属性)以及它对光的反应,因为必须在着色器中构建光照计算,然而可能会存在很多类型的光影,所以编写Shader是非常麻烦的一件事。Unity为了简化编写Shader的操作,提供了Surface Shaders,它会将所有的光照,阴影,光照贴图,向前渲染和延迟渲染都会自动处理。如何选择渲染通道(Pass)以及灯光如何应用,都取决于采用什么样的渲染路径。渲染路径:...翻译 2020-03-26 16:51:54 · 597 阅读 · 0 评论 -
记录:Shader 光照模型公式及实现
1.漫反射公式:兰伯特定律:反射光线的强度与表面法线和光源方向之间夹角的余弦值成正比Cdiffuse = (Clight * Mdiffuse) * saturate(dot(n,i))Clight:入射光线的颜色和强度Mdiffuse:材质的漫反射系数saturate(x):将x截取在[0,1]范围内dot(x,y):对x和y 点乘n:表面法线i:光源方向2.半兰伯特公式:...原创 2019-11-10 21:42:59 · 452 阅读 · 0 评论