Я пытаюсь переместить квадрат текстуры текселя в центр текстуры в следующий раз. Следующий код выполняет эту работу, если я не хочу, чтобы пиксель был обрамлен, когда он достиг центра геометрии (плоскости), и на данный момент он становится все более маленьким, а время увеличивается, а текстура кажется сжатой.
uniform float time;
varying vec2 vUv;
void main() {
vec2 center = vec2(0.5, 0.5);
vec2 newPosition = vec2(vUv.x + t * (center.x - vUv.x), vUv.y + t * (center.y - vUv.y);
gl_FragColor = texture2D( texture, vec2(newPosition.x, newPosition.y) );
}
Изменить:
Подумайте об этом как о черной дыре в центре текстуры.