unity渲染知识点 mask

最近学习unityshader,做了一些随笔
1.HLSL Tool For Visual Studio VS shander插件
2.要获取正确的光照颜色,#pragram multi_fwdbase
3.line01depth是世界空间线性深度值(112)
lineEyeDepthView视觉空间线性深度值
COMPUTER EYEDEPTH是屏幕空间深度值
4.屏幕空间采样用tex2Dproj uv是屏幕坐标
5.植物一般使用aphatest,不适用apha混合
6.关于纹理grappass{“name”} name一样的纹理抓取会执行一次,一 般纹理抓取放在透明物体中,保证所有的物体渲染完毕
7.command buffer 是在渲染的任何阶段取出颜色缓存的值
8.unity三套纹理坐标
1.v.texcoord 模型UV坐标
2.v.texcoord1 lightmap采样坐标
3.v.texcoord2 动态lightmap采样坐标
DynamicLightmap是对应着Lighting->Realtime LightMaps,然后 Lightmap对应着Lighting->Baked LightMaps
9.视角坐标系
O.ray = UnityObjectToViewPos(i.vertex);得出的位置方向是沿z轴的正方向,视角坐标系是唯一的右手坐标系

摄像机的前方是Z轴的负方向,为了统一计算UnityObjectToViewPos(i.vertex)*float3(-1,-1,1);

10.计算屏幕空间UV 先在顶点shader中o.uv = UnityObjectToClipPos(i.vertex);转到裁剪空间
第二部在片源shader中进行齐次除法uv = i.uv.xy/i.uv.w

11.深度纹理采样 depth = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture,uv);前向渲染需要在摄像机上开启深度
延迟渲染不需要

12.阴影随距离远近消失 project setting ->qulity-> shadows->shadowDistance

13.shader源码 Editor->DAta->CGIncludes
14.透明物体加影子 FallBack"Transparent/Cutout/VertexLit"
15.NoramlMap采样后得到物体坐系标下的法线,再转到世界空间坐标系下
16.纹理采样精度不够的的时候 _mainTex_FLOAT 后面加_float提高精度

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值