OpenGL Правомерность действия

В ходе моего обучения OpenGL у меня возник вопрос. Я получаю с камеры видео поток используя GL_TEXTURE_EXTERNAL_OES. Далее для правильной выборки из текстуры (нужно перевести "стандартные" st координаты в координаты текстуры) я использую трюк:

  glm::mat4 st {
    0, 1, 0, 0,
    1, 0, 0, 0,
    0, 0, 0, 0,
    1, 1, 0, 0
   };

 compensate_matrix = st * glm::rotate(glm::mat4(1.0f), glm::radians(180.0f), glm::vec3(0,0,1));

Далее в шейдере:

var_st = (compensate_matrix * vec4(st.x, st.y, 0, 1.0)).xy;

Собственно вопрос, насколько правомерно выражение, и что оно значит:

... st * glm::rotate ...?

Ответы (0 шт):