OPENGL ES ne fonctionne pas: pas de contexte actuel
J'ai essayé le programme comme indiqué dans le livre OpenGL ES2 pour Android, mais ça ne marche pas!!
Je l'ai testé dans Odroid E, samsung s3, samsung y samsung star!!
the gl version suported returns 2, but i get
11-22 15:09:45.804: E/oGl-es v(9047): 2.0:131072
11-22 15:09:45.804: E/libEGL(9047): call to OpenGL ES API with no current context (logged once per thread)
11-22 15:09:45.804: E/unable to(9047): createShader
11-22 15:09:45.804: E/libEGL(9047): call to OpenGL ES API with no current context (logged once per thread)
11-22 15:09:45.804: E/unable to(9047): createShader
11-22 15:09:45.804: E/libEGL(9047): call to OpenGL ES API with no current context (logged once per thread)
11-22 15:09:45.804: E/Error creating(9047): GL programObject
11-22 15:09:45.812: E/render(9047): set
11-22 15:09:46.062: E/Results of validating program:(9047): 0
11-22 15:09:46.062: E/Results of validating program:(9047): Log:
Ci-dessous sont mon code
public class Main_OGLT1 extends Activity {
MySurface mGLSurfaceView;
private boolean renderSet;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mGLSurfaceView = new MySurface(this);//(this); //instantiation
ActivityManager actMan = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
ConfigurationInfo mConfigInfo = actMan.getDeviceConfigurationInfo();
boolean isES2Compat = (mConfigInfo.reqGlEsVersion >= 0x20000);
Log.e("oGl-es v",mConfigInfo.getGlEsVersion()+":"+ mConfigInfo.reqGlEsVersion);
if(isES2Compat){
renderSet = true;
Log.e("render","set");
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main__oglt1, menu);
return true;
}
@Override
protected void onResume()
{
//The activity must call the GL surface view's onResume() on activity onResume().
super.onResume();
mGLSurfaceView.onResume();
}
@Override
protected void onPause()
{
//The activity must call the GL surface view's onPause() on activity onPause().
super.onPause();
mGLSurfaceView.onPause();
}
}
La classe MySurface :
public class MySurface extends GLSurfaceView{
public MySurface(Context context) {
super(context);
//TODO Auto-generated constructor stub
setEGLContextClientVersion(2);
setRenderer(new MyTestRenderer(getContext()));
}
}
source d'informationauteur nmxprime
Vous devez vous connecter pour publier un commentaire.
Le problème est avec glSurfaceView, car il ne fonctionne pas sur l'OpenGL fil. Le glSurfaceView devrait être le principal android fil.
Ici vous trouverez des infos supplémentaires à ce sujet:
opengl es api sans contexte actuel
OpenGL ES 2.0 d'Android
Espérons que cette aide.