79675060

Date: 2025-06-22 10:07:28
Score: 0.5
Natty:
Report link

I found a solution myself now. So becuase the vTextureCoord seemed to be messed up, I decided to bring up another locical location and also pass it to the fragment shader. Not it seems to work as expected:

const vertex = `
in vec2 aPosition;
out vec2 vTextureCoord;
out vec2 vLogicPosition;

uniform vec4 uInputSize;
uniform vec4 uOutputFrame;
uniform vec4 uOutputTexture;

vec4 filterVertexPosition( void )
{
    vec2 position = aPosition * uOutputFrame.zw + uOutputFrame.xy;
    
    position.x = position.x * (2.0 / uOutputTexture.x) - 1.0;
    position.y = position.y * (2.0*uOutputTexture.z / uOutputTexture.y) - uOutputTexture.z;

    return vec4(position, 0.0, 1.0);
}

vec2 filterTextureCoord( void )
{
    return aPosition * (uOutputFrame.zw * uInputSize.zw);
}

void main(void)
{
    gl_Position = filterVertexPosition();
    vTextureCoord = filterTextureCoord();
    vLogicPosition = aPosition;
}
`
Reasons:
  • Long answer (-0.5):
  • Has code block (-0.5):
  • Self-answer (0.5):
  • Low reputation (1):
Posted by: Julian