问题描述
我想在three.js中实现水平图像滑块。
这是垂直滑块的示例。 我要实现以下图像。 (水平滑块)。 This is the example of a horizontal slider。
list(map(list,set(map(tuple,a))))
#[[2,2],[2,2,1,0],2]]
解决方法
您必须输入纹理坐标的y
组件而不是顶点坐标的x
组件的文本。纹理坐标的分量在[0.0,1.0]范围内。因此,divider
也必须在[0.0,1.0]范围内:
vec4 texColor0 = texture2D(tex0,vUv);
vec4 texColor1 = texture2D(tex1,vUv);
vec4 sliderColor = vec4(0.5,0.5,1.0,1.0);
float limit0 = divider - dividerWidth;
float limit1 = divider + dividerWidth;
gl_FragColor = vUv.y > limit1 ? texColor1 : (vUv.y < limit0 ? texColor0 : sliderColor);