首页 > 代码库 > What is _MainTex_ST ?
What is _MainTex_ST ?
【What is _MainTex_ST ?】
在Unity自带的Unlit/Texture中,有引用到float4 _MainTex_ST,如下:
// Unlit shader. Simplest possible textured shader.// - no lighting// - no lightmap support// - no per-material colorShader "Unlit/Texture" {Properties { _MainTex ("Base (RGB)", 2D) = "white" {}}SubShader { Tags { "RenderType"="Opaque" } LOD 100 Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag #include "UnityCG.cginc" struct appdata_t { float4 vertex : POSITION; float2 texcoord : TEXCOORD0; }; struct v2f { float4 vertex : SV_POSITION; half2 texcoord : TEXCOORD0; }; sampler2D _MainTex; float4 _MainTex_ST; v2f vert (appdata_t v) { v2f o; o.vertex = mul(UNITY_MATRIX_MVP, v.vertex); o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex); return o; } fixed4 frag (v2f i) : SV_Target { fixed4 col = tex2D(_MainTex, i.texcoord); return col; } ENDCG }}}
TRANSFORM_TEX宏如下:
indeed for any texture property, Unity provides value for float4 with "_ST" suffix. The x,y contains texture scale, and z,w contains translation (offset).
_ST变量有4个值,xy是texture scale,zw是offset。
在Material中可以设置的Tiling就是xy,Offset就是zw。
参考:http://forum.unity3d.com/threads/what-is-_maintex_st.24962/
What is _MainTex_ST ?
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。