uniform float4 _MainTex_TexelSize
where is the value of the float4 _MainTexelSize from?
It's set by the application if it's present in the shader - it is the size of a texel of the texture in question, in other words, if it's a 1k x 1k texture, both x and y will be 1.0/1024.0
_MainTex_TexelSize is set by magic sauce in the darkness of Unity's source code.
It follows the dimensions of the _MainTex sampler and has these contents:
Vector4(1 / width, 1 / height, width, height)
https://forum.unity3d.com/threads/_maintex_texelsize-whats-the-meaning.110278/
Texture size
{TextureName}_TexelSize - a float4 property contains texture size information:
x contains 1.0/width
y contains 1.0/height
z contains width
w contains height
https://docs.unity3d.com/Manual/SL-PropertiesInPrograms.html
本文转自jiahuafu博客园博客,原文链接http://www.cnblogs.com/jiahuafu/p/6744178.html如需转载请自行联系原作者
jiahuafu