Unity Shader学习总结

1.帧缓冲区和颜色缓冲区区别
用于存储每帧每个像素颜色信息的缓冲区
帧缓冲区包括:颜色缓冲区 深度缓冲区 模板缓冲区 自定义缓冲区
2.ImageEffectShader是什么
后处理用的shader模版
3.computerShader
独立于渲染管线之外,在显卡上运行,大量并行计算
4.在这里插入图片描述
属性卸载properties{}里面,但是如果有点谁不显示谁的功能就用custom editor给一个脚本,通过脚本控制,对材质面板的属性进行定制化。

shader常用api:
length(向量)
5.shader函数里面使用的结构体要初始化
在这里插入图片描述

5.观察空间
在这里插入图片描述

右手坐标系
unity的勾边选择在这里插入图片描述
6.常用的shader库
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
7.shader参考大全工具
在这里插入图片描述
8.一个正方体为什么是24个顶点?
传统是8个顶点,这里一个代表三个,是因为不同的连接面上需要有不同的uv,不同的法线,以及颜色相关信息
法线增加凹凸细节
9.常用特征
color的[HDR],纹理的[NoScaleOffset],range的[IntRange],[HideInspector],[Space(20)],[Header(Title)],[toggle]
10.片段和像素的关系
一个像素可能由多个片段多重采样混合颜色输出
11.顶点着色器和片段着色器区别?
顶点更少比如3个顶点,三角面,像素有很多会执行多次
12.贴图的作用?
1.提供表面颜色
2.提供凹凸细节
3.中转功能,只使用纹理上的数值
13.贴图的默认值
在这里插入图片描述
在这里插入图片描述
材质的debug属性可以看到这个shader里面使用到的变量的名称

在这里插入图片描述
分量的运用优化, 只运用2个参数,定义一个vector,传递2个分量
14.图形计算器:geogebra,把算法可视化
15.几种常见的贴图:分几个阶段的不同段颜色的贴图:rampTex
采样可以使用samper和tex1D来进行采样
16.变体通过keyword来区分
17.帧缓冲区:
在这里插入图片描述
18.在这里插入图片描述
暴露颜色混合参数选择,还有CullMode
19.shader_feature 和multr-compile
shader_feature主要用于特效,游戏里面不进行动态切换,非运行时候就确定要怎么渲染的时候使用
multi-compile用于比如说闪白,游戏里面会动态切换,两个变体都会使用,所以都要打进包。

优化:
1.尽量放顶点着色器写

案例分析:
溶解
UV扭曲
屏幕扭曲:
有后处理扭曲(整个屏幕扭曲)和屏幕某一块扭曲两种
在这里插入图片描述
grabpass输出一张RT,然后利用在这个RT下的屏幕uv扭曲
UIshader功能:
1.队列:半透明队列,混合
[PerRendererData]特性的意思,搭配SetPropertyBlock使用有性能优化的作用。
工具:
renderdoc
在这里插入图片描述
深度偏移
https://imgtec.eetrend.com/blog/2020/100059033.html
https://imgtec.eetrend.com/blog/2020/100059173.html
广告牌效果实现:
1.关闭深度写入
2.Subshader标签,DisableBatching设为true如果有在模型顶点空间下做顶点动画
3.“IgnoreProjector”=“True”告诉Unity3D,我们不希望任何投影类型材质或者贴图
4.面向摄像机的效果,除了cpu控制旋转
法线方向是固定的,让法线方向指向视角方向,在shader里面算出旋转矩阵给顶点计算
5.transpose(float3x3(rightDir, upDir, normalDir)
6.shadergraph 里面变化矩阵使用Transformation Matrix

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JustEasyCode

谢谢您

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值