Предположим, у меня есть OpenGL 4x4 Matrix, которую я использую для некоторого преобразования, внутри моего вызова я многократно использую «переводить», но затем, в конце, я хочу «обернуть» этот перевод вокруг определенного размера , поэтому в 2D-терминах предположим, что я переводит X на 210, тогда я хочу обернуть этот перевод в поле шириной «50», что приведет к переводу 10 (210% 50).Wrap OpenGL Matrix translation
Поскольку мне нужно, чтобы преобразовать координаты в пикселях экрана я инициализировать свою матрицу следующим образом:
private float[] mScreenMatrix = {
2f/width, 0f, 0f, 0f,
0f, -2f/height, 0f, 0f,
0f, 0f, 0f, 0f,
-1f, 1f, 0f, 1f
};
Итак, если ширина «50» и я называю Matrix.translateM (210,0,0) как я могу «обернуть» эту матрицу, чтобы окончательный перевод на x был всего 10?
спасибо за подробный ответ, я подозревал, что это не будет легко, я постараюсь посмотреть, смогу ли я обойти это каким-то образом, спасибо – FrankMonza