edit: Gelöst, siehe unten
Ich versuche wie hier beschrieben OpenGL ES 2.0 zu nutzen. So wie ich das sehe, habe ich alles genau so übernommen wie es da steht, doch will ich das ausführen, bekomme ich von Eclipse die Meldung "Source not found.", was bei Auskommentieren von drei Zeilen (17, 31, 33) nicht passiert, allerdings kann ich dann OpenGL natürlich auch nicht mehr nutzen. Zum Testen nutze ich nicht das Virtual Device, dass OpenGL 2.0 darauf nicht läuft, habe ich schon gelesen, sondern ein Galaxy Ace 2 mit 2.3.6 drauf. (Ich kompiliere für 2.3.3)
Wie beschrieben, in AndroidManifest.xml steht "<uses-feature android:glEsVersion="0x00020000" android:required="true" />", desweiteren die Klasse für meine Activity:
Und der Renderer:
Weiß jemand, wo der Fehler hier liegt? Oder läuft OpenGL 2.0 auf dem Ace 2 eventuell einfach gar nicht? Zum Gerät selbst findet man da nicht wirklich was und mit Android 2.2 scheint das eingeführt worden zu sein, weshalb ich denke, dass es unterstützt sein sollte.
Danke im Voraus
Ich habe die Lösung gefunden
muss vor
, was in dem Beispiel in genau anderer Reihenfolge Erwähnung findet bzw. es wird nicht gesagt, dass wichtig ist, wo man ersteres platziert.
Trotzdem danke für alle, die helfen wollten
Ich versuche wie hier beschrieben OpenGL ES 2.0 zu nutzen. So wie ich das sehe, habe ich alles genau so übernommen wie es da steht, doch will ich das ausführen, bekomme ich von Eclipse die Meldung "Source not found.", was bei Auskommentieren von drei Zeilen (17, 31, 33) nicht passiert, allerdings kann ich dann OpenGL natürlich auch nicht mehr nutzen. Zum Testen nutze ich nicht das Virtual Device, dass OpenGL 2.0 darauf nicht läuft, habe ich schon gelesen, sondern ein Galaxy Ace 2 mit 2.3.6 drauf. (Ich kompiliere für 2.3.3)
Wie beschrieben, in AndroidManifest.xml steht "<uses-feature android:glEsVersion="0x00020000" android:required="true" />", desweiteren die Klasse für meine Activity:
Code:
package com.example.stapelspiel;
import android.app.Activity;
import android.content.Context;
import android.opengl.GLSurfaceView;
import android.os.Bundle;
public class MainActivity extends Activity {
private GLSurfaceView mGLView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mGLView = new MyGLSurfaceView(this);
setContentView(mGLView); //Fehler ohne Auskommentieren
}
class MyGLSurfaceView extends GLSurfaceView
{
public MyGLSurfaceView(Context context)
{
super(context);
setRenderer(new MyGL20Renderer()); //Fehler ohne Auskommentieren
setEGLContextClientVersion(2);
setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY); //Fehler ohne Auskommentieren
}
}
}
Code:
package com.example.stapelspiel;
import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;
import android.opengl.GLES20;
import android.opengl.GLSurfaceView;
public class MyGL20Renderer implements GLSurfaceView.Renderer
{
public void onSurfaceCreated(GL10 unused, EGLConfig config)
{
GLES20.glClearColor(0.5f, 0.5f, 0.5f, 1.0f);
}
public void onDrawFrame(GL10 unused)
{
GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);
}
public void onSurfaceChanged(GL10 unused, int width, int height)
{
GLES20.glViewport(0, 0, width, height);
}
}
Weiß jemand, wo der Fehler hier liegt? Oder läuft OpenGL 2.0 auf dem Ace 2 eventuell einfach gar nicht? Zum Gerät selbst findet man da nicht wirklich was und mit Android 2.2 scheint das eingeführt worden zu sein, weshalb ich denke, dass es unterstützt sein sollte.
Danke im Voraus
Ergänzung ()
Ich habe die Lösung gefunden
Code:
setEGLContextClientVersion(2);
Code:
setRenderer(new MyGL20Renderer()); //Fehler ohne Auskommentieren
Trotzdem danke für alle, die helfen wollten
Zuletzt bearbeitet: