sampler 表示纹理单元,用于指定从哪个纹理单元中获取像素颜色值;coord 表示纹理坐标,用于指定从纹理中的哪个位置获取像素颜色值。
texture2D 函数返回一个 vec4 类型的向量,即rgba。
在纹理坐标系中,左下角的坐标为 (0, 0),右上角的坐标为 (1, 1)。
以下面这张图片为例:
图片来自: 依赖_赖
若使用 texture2D(image, vec2(st.s, st.t)) ,则为正常贴图
在这张图片中,无论怎样改变vec2()的第一个参数基本没啥影响,因为x坐标不影响颜色的深浅。
要改变颜色深浅,只需改变vec2()的第二个参数。
texture2D(image, vec2( st.s,st.s )):离起始点的x距离越远,即st.s越大,则对应的取样的点的t越大,则颜色越浅。
texture2D(image, vec2( st.s,st.t )):正常取样。
texture2D(image, vec2( st.s,fract(st.s - time))):此时横向滚动,fract取小数,即0~1。
texture2D(image, vec2( st.s,fract(st.t - time))):此时纵向滚动。
暂且先到这o.0