Unity3D基础论-Shader

shader

着色器(Shader)是用来实现图像渲染的,用来替代固定渲染管线的可编辑程序。其中Vertex Shader主要负责顶点的几何关系等的运算,Pixel Shader主要负责片源颜色等的计算。

着色器替代了传统的固定渲染管线,可以实现3D图形学计算中的相关计算,由于其可编辑性,可以实现各种各样的图像效果而不用受显卡的固定渲染管线限制。

固定管线着色器:

.缺点:不太灵活  优点:写起来比较简单

固定管线着色器

Properties:任何着色器都用这个属性来写、7种类型

SubShader :每一个子着色器相当于一个渲染方案,会判断使用那个渲染方案,一般写一个

Pass通道:只有顶点片段着色器、固定管线着色器有/表面着色器没有

作用示例:正面设置成一种样式反面设置成一种样式多方面渲染

浮点、颜色、2D贴图最常用


固定管线着色器
固定管线着色器

必须两个物体的脚本都有渲染队列代码,才能设置渲染队列

固定管线着色器
固定管线着色器

级别数值可以--Tags{"Queue"="Background+200"}这样写

固定管线着色器

透明混合:

固定管线着色器

纹理贴图:  SetTexture

固定管线着色器
固定管线着色器
固定管线着色器
固定管线着色器
固定管线着色器

用代码控制纹理的渐变:

Shader里有的属性在C#里大部分都能Get /Set到

固定管线着色器

AlphaTest:透明度测试(可以做溶解的效果)

固定管线着色器


固定管线着色器
固定管线着色器

表面着色器Surface Shader:

表面着色器模板;/表面着色器没有Pass通道


表面着色器

Fallback "Diffuse"每个着色器都得写

表面着色器
表面着色器
表面着色器

基本数据类型:

表面着色器
表面着色器
表面着色器
表面着色器
表面着色器
表面着色器
表面着色器
表面着色器
表面着色器
表面着色器
表面着色器
表面着色器

Normalized:

表面着色器

Dot:

dot
pow
表面着色器
表面着色器
表面着色器
表面着色器
表面着色器

效果图:

效果


纹理图片旋转:

表面着色器

顶点片段着色器:

有pass通道

顶点片段着色器
顶点片段着色器
顶点片段着色器
顶点片段着色器
顶点片段着色器
顶点片段着色器
顶点片段着色器
顶点片段着色器
顶点片段着色器
顶点片段着色器
顶点片段着色器
顶点片段着色器
顶点片段着色器
顶点片段着色器
顶点片段着色器

END

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容