2
我已經通過解決方案看起來並沒有真正找到一個。我得到這個錯誤,因爲它好像執行發生在gl線程之外。但我不知道如何解決這個問題。代碼如下:的OpenGL ES沒有當前上下文API
public shape()
{
super();
vertexShader = Shader.loadShader(GLES20.GL_VERTEX_SHADER, vertexShaderCode); //<============
fragmentShader = Shader.loadShader(GLES20.GL_FRAGMENT_SHADER, fragmentShaderCode);
ByteBuffer buffer = ByteBuffer.allocateDirect(getCoordinates().length * 4);
buffer.order(ByteOrder.nativeOrder());
vertexBuffer = buffer.asFloatBuffer();
vertexBuffer.put(getCoordinates());
vertexBuffer.position(0);
ByteBuffer drawListBuffer = ByteBuffer.allocateDirect(getOrderOfDraw().length * 2);
drawListBuffer.order(ByteOrder.nativeOrder());
listBuffer = drawListBuffer.asShortBuffer();
listBuffer.put(getOrderOfDraw());
listBuffer.position(0);
mProgram = GLES20.glCreateProgram(); // create empty OpenGL Program
GLES20.glAttachShader(mProgram, vertexShader); // add the vertex shader to program
GLES20.glAttachShader(mProgram, fragmentShader); // add the fragment shader to program
GLES20.glLinkProgram(mProgram);
}
,並調用渲染器
Square square = new Square(5, 5);
public void onDrawFrame(GL10 unused)
{
unused.glLoadIdentity();
unused.glClear(GLES20.GL_COLOR_BUFFER_BIT);
square.Draw();
}
廣場從形狀延伸
這似乎解決這個問題,但是現在我越來越 「所謂的 」未實現的OpenGL ES API「 即使我有 <使用-SDK安卓的minSdkVersion =」 10" /> <使用,功能的Android:需要=「真正的」機器人:glEsVersion =「0x00020000」 /> 在清單 –
哪一行代碼的是給該消息@ user1260028 – Tim