Hi!

In modern opengl we have to pass each matrix to a shader, I use a texture matrix for passing from [0,size] to [0,1] for uv coordinates.

It works fine except I can’t flip a texture, when I try to invert the y coordinates with this matrix :

```
math::Matrix4f Texture::getTextureMatrix() const {
math::Matrix4f matrix(1.f, 0.f, 0.f, 0.f,
0.f, 1.f, 0.f, 0.f,
0.f, 0.f, 1.f, 0.f,
0.f, 0.f, 0.f, 1.f);
matrix.m11 = 1.f / m_actualSize.x;
matrix.m22 = 1.f / m_actualSize.y;
if (m_pixelsFlipped)
{
matrix.m22 = -matrix.m22;
}
return matrix;
}
```

Here is how I do in the vertex shader :

[code=cpp]

#version 330 core

layout (location = 0) in vec4 position;

layout (location = 1) in vec4 color;

layout (location = 2) in vec2 uv;

layout (location = 3) in vec3 normals;

uniform mat4 p;

uniform mat4 v;

uniform mat4 t;

uniform float haveTexture;

out vec4 f_color;

out vec2 texCoords;

void main() {

gl_Position = p * v * position;

texCoords = (haveTexture == 1) ? (t * vec4(uv.xy, 0, 0)).xy : vec2(0, 0);

f_color = color;

}

```
If I don't invert the v coordinate, the texture is well displayed but if I invert the v coordinates, the texture is not displayed. :/
```