2017-02-09 5 views
0

я нашел хороший оттенок на сайте шейдер игрушка:изменить разрешение на полный экран шейдера это

https://www.shadertoy.com/view/4scGWj

Это делает анимированный лазер горизонтально в центре экрана:

enter image description here

Я хочу знать:

. чтобы иметь возможность указать размер лазерного (скажем, экран 800 * 600, и я надеюсь, что лазер оказывается в зоне 80 * 60 - это выглядит как лазер масштабируется)

и больше:

. чтобы иметь возможность визуализировать лазер между заданной точкой START POINT и END POINT (скажем, от 100 100 400 400)

Я попытался изменить шейдер, но не могу сделать это, любое предложение будет оценено, спасибо :)

ответ

0

Эти шейдеры ShaderToy вычисляют значения пикселей на основе fragCoord. Если вместо этого вы используете преобразованную версию fragCoord, вы можете масштабировать, поворачивать или даже деформировать изображение. Матричные преобразования на fragCoord дают вам простой способ повернуть и масштабировать.

Однако это не даст вам начальной точки или конечной точки. Для этого вам нужно будет понять, как работает шейдер и внести изменения самостоятельно.

Другая альтернатива заключается в том, чтобы превратить лазер в один квадрант, а не в полноэкранный четырехъядерный, и использовать координаты текстуры вместо fragCoord.