Применить вертикальное смещение в коде шейдера OpenTK - PullRequest
0 голосов
/ 17 июня 2019

Используя приведенный ниже код шейдера, я могу показать текстуру в моем glControl.Могу ли я сдвинуть его вертикально с выбранным пользователем значением?Например: если пользователь выбирает 0,8, я хочу сместить его 0,8 по вертикали снизу вверх.

public void CreateShaders()
{
  /***********Vert Shader********************/
  vertShader= GL.CreateShader(ShaderType.VertexShader);
  GL.ShaderSource(vertShader,
    @"attribute vec3 a_position;
      varying vec2 vTexCoord;
      void main() {
          vTexCoord = (a_position.xy+1)/2 ;
          gl_Position = vec4(a_position, 1);
      }");
  GL.CompileShader(vertShader);

  /***********Frag Shader ****************/
  fragShader = GL.CreateShader(ShaderType.FragmentShader);
  GL.ShaderSource(fragShader, 
    @"precision highp float;
      uniform sampler2D sTexture;varying vec2 vTexCoord; 
      uniform float userselectedShiftVal;
      void main ()
      {
          vec4 color = texture2D (sTexture_2,vec2(vTexCoord.x,vTexCoord.y));
          gl_FragColor = color;  
      }");
  GL.CompileShader(fragShader);
}
...