我使用OpenGL ES 2.0来绘制Square对象,如本教程所示:
developer.android.com/training/graphics/opengl/draw.html
并从本教程中绘制文字:
fractiousg.blogspot.com/2012/04/rendering-text-in-opengl-on-android.html
的 的
d1.draw(mMVPMatrix);
d2.draw(mMVPMatrix);
d3.draw(mMVPMatrix);
d4.draw(mMVPMatrix);
p1.draw(mMVPMatrix);
if(punkty>0)
p2.draw(mMVPMatrix);
koala.draw(mMVPMatrix);
punktyString = String.valueOf(punkty);
glText.begin( 1.0f, 1.0f, 1.0f, 1.0f, mVPMatrix );
glText.drawC(punktyString, width/2, height/2);
glText.end(); <i>
要绘制方形物体,我使用mMVPMatrix。要绘制文本,我使用mVPMatrix。
onSurfaceChanged:
float ratio = (float) width / height;
Matrix.frustumM(mProjMatrix, 0, -1, 1, -1 / ratio, 1 / ratio, 1, 10);
int useForOrtho = Math.min(width, height);
//TODO: Is this wrong?
Matrix.orthoM(mVMatrix, 0,
-useForOrtho / 2,
useForOrtho / 2,
-useForOrtho / 2,
useForOrtho / 2, 0.1f, 100f);
Matrix.frustumM(mProjectionMatrix, 0, 1, -1, -1, 1, 3, 7); </i>
onDrawFrame:
Matrix.setLookAtM(mViewMatrix, 0, 0, 0, -3, 0f, 0f, 0f, 0f, 1.0f, 0.0f);
// Calculate the projection and view transformation
Matrix.multiplyMM(mMVPMatrix, 0, mProjectionMatrix, 0, mViewMatrix, 0);
Matrix.multiplyMM(mVPMatrix, 0, mProjMatrix, 0, mVMatrix, 0);
的
在大多数设备上,应用效果很好:
但在某些设备上,app的工作方式如下:
仅渲染文本,不渲染方形对象。 如何在所有设备上渲染Square对象和文本?
问我是否需要更多信息。