Unity Shader:tex2D函数详解


tex2D函数作用:CG程序中用来在一张贴图中对一个点进行采样的方法,返回一个float4,通过一个二维uv坐标在纹理上,获取该处值。

 

float4 Tex2D(sampler2D tex, float2 s) :s-需进行查找的纹理坐标(uv)

其中根据纹理的类型不同,获取的值的含义也不一样,普通纹理一般代表的是该点的颜色值

//该像素的真实颜色值
half4 c = tex2D (_MainTex, IN.uv_MainTex);

bump类型纹理上存储的值代表的含义是该点的法向量

//从_Bump纹理中提取法向信息
tex2D(_Bump, IN.uv_Bump)

 

tex2D数值精度问题:

有时候 数据被适应到0.f~1.f后,精度出问题,计算不正确

col = rampMask.r > 0.01 ? fixed4(1,1,1,1) : fixed4(0,0,0,1);

可以用这个测试tex2D取得的真实值

————————————————
参考链接:

https://blog.csdn.net/Ling_SevoL_Y/article/details/120197685

https://blog.csdn.net/A13155283231/article/details/106267325

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值