0
我與OpenGL的像素級(2D)如何在OpenGL ES 2.0的在像素級的旋轉質地
一切都很好工作,直到我碰到旋轉
我已經嘗試了不同的方式,來到什麼
這是我在矩陣像素的級別上工作
float[] uScreen =
{
2f/width, 0f, 0f, 0f,
0f, -2f/height, 0f, 0f,
0f, 0f, 0f, 0f,
-1f, 1f, 0f, 1f
};
頂點
String vertexSrc =
"uniform mat4 uScreen;\n" +
"attribute vec2 aPosition;\n" +
"void main() {\n" +
" gl_Position = uScreen * vec4(aPosition.xy, 0.0, 1.0);\n" +
"}";
片段着色器
String fragmentSrc =
"precision mediump float;\n"+
"void main(void)\n" +
"{\n" +
" gl_FragColor = vec4(1, 0, 0, 1);\n" +
"}";
這工作得很好,我可以在屏幕上的像素級繪製沒有問題。 但我想旋轉紋理,不知道怎麼
現在嘗試添加以下
long time = SystemClock.uptimeMillis() % 4000L;
float angleX = 0.090f * ((int) time);
float[] axis = { 1.0f,0.0f,0.0f};
Matrix.rotateM(uScreen,0,angleX,axis[0],axis[1],axis[2]);
GLES20.glUniformMatrix4fv(uScreenPos, 1, false, uScreen, 0);
質地旋轉,但有一個奇怪的行爲,周圍的一切0.0旋轉屏幕上沒有其中心
任何想法如何旋轉?
紋理(紅色)轉過0,0像素沒有在你的中心
這將是有益的瞭解,如果您發佈的你是畫什麼的截圖,和你的預期屏幕上的旋轉位置是。 – prabindh
就好像相機旋轉而不是紋理 –