babylon.js重复纹理缝/神器

时间:2016-05-09 11:52:43

标签: javascript webgl babylonjs

我最近开始使用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;

问题在于,这会对重复纹理的接缝产生奇怪的像素化效果,如下图所示。

My problem

我该如何解决这个问题?我的片段着色器一定有问题,因为使用标准材质不会产生这个问题。

如果有人能提供帮助,我将永远感激不尽。

1 个答案:

答案 0 :(得分:0)

哇,好吧,我是个白痴,我正在以一种非常愚蠢和低效的方式缩放图像。我不认为我真的明白这行:

vec2 phase = fract(xy / vec2(1.0/vScale,1.0/vScale));

正在做。我仍然不是100%,但逻辑方法只是将uv向量乘以重复因子。

vec2 phase = vec2(xy.x*vScale,xy.y*vScale);

您可以在此处查看结果:

http://www.babylonjs.com/cyos/#CARU2#2