Unity Shader 鬼异的_MainTex_ST跳出三界外,不在五行中,是如何分清缩放偏移的??? 5
大家都知道o.uv=TRANSFORM_TEX(v.texcoord,_MainTex);其实等价于o.uv=v.texcoord.xy*_MainTex_ST.xy+_...
大家都知道
o.uv = TRANSFORM_TEX(v.texcoord, _MainTex);
其实等价于
o.uv = v.texcoord.xy * _MainTex_ST.xy + _MainTex_ST.zw;
_MainTex_ST.xy管缩放,_MainTex_ST.zw管偏移
那么问题了,假如
_MainTex_ST.xy等于3,即是将o.uv横纵向各扩大3倍
_MainTex_ST.zw等于2,即是将o.uv横纵向各偏移2
并且假如o.uv本来为1,那么o.uv的运算结果得1*3+2等于5
然而待
tex2D(_MainTex, i.uv);
采样时,为什么它不是放大5倍的采样,而是3倍呢?按数据来说,应该是5倍才对啊 展开
o.uv = TRANSFORM_TEX(v.texcoord, _MainTex);
其实等价于
o.uv = v.texcoord.xy * _MainTex_ST.xy + _MainTex_ST.zw;
_MainTex_ST.xy管缩放,_MainTex_ST.zw管偏移
那么问题了,假如
_MainTex_ST.xy等于3,即是将o.uv横纵向各扩大3倍
_MainTex_ST.zw等于2,即是将o.uv横纵向各偏移2
并且假如o.uv本来为1,那么o.uv的运算结果得1*3+2等于5
然而待
tex2D(_MainTex, i.uv);
采样时,为什么它不是放大5倍的采样,而是3倍呢?按数据来说,应该是5倍才对啊 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询