我最近开始使用babylon.js进行着色器编程。我正在尝试编写支持重复纹理的片段着色器。我用了一个非常简单的方法来做到这一点,正如你可以通过链接告诉的那样。
http://www.babylonjs.com/cyos/#CARU2#1
vec2 xy = vUV;
vec2 phase = fract(xy / vec2(1.0/vScale,1.0/vScale));
vec3 color = texture2D(textureSampler, phase).rgb;
问题在于,这会对重复纹理的接缝产生奇怪的像素化效果,如下图所示。
我该如何解决这个问题?我的片段着色器一定有问题,因为使用标准材质不会产生这个问题。
如果有人能提供帮助,我将永远感激不尽。
答案 0 :(得分:0)
vec2 phase = fract(xy / vec2(1.0/vScale,1.0/vScale));
正在做。我仍然不是100%,但逻辑方法只是将uv向量乘以重复因子。
vec2 phase = vec2(xy.x*vScale,xy.y*vScale);
您可以在此处查看结果: