Android OpenGL usando Java y C ++
-
19-09-2019 - |
Pregunta
Se puede mezclar Java y OpenGL llamadas nativas. Por ejemplo con la configuración suceda en el onSurfaceCreated, pero tener la llamada onDraw en código nativo (o incluso ambos)? Estoy teniendo problemas para conseguir el código nativo para hacer, pero no puedo decir si esto podría ser un problema o si estoy lanzar excepciones C ++, pero no lo hacen burbujear ...
private static native void drawFromJni();
public void onDrawFrame(GL10 gl) {
try{
drawFromJni();
//gl.glDrawArrays... also
}
catch (Exception ex){
ex.printStackTrace();
Log.e("sv", ex.getMessage());
}
}
public void onSurfaceChanged(GL10 gl, int width, int height) {
gl.glViewport(0, 0, width, height);
float ratio = (float) width / height;
gl.glMatrixMode(GL10.GL_PROJECTION);
gl.glLoadIdentity();
gl.glFrustumf(-ratio, ratio, -1, 1, 1, 10);
}
public void onSurfaceCreated(GL10 gl, EGLConfig config) {
gl.glDisable(GL10.GL_DITHER);
gl.glHint(GL10.GL_PERSPECTIVE_CORRECTION_HINT, GL10.GL_FASTEST);
gl.glClearColor(0,0,0,0);
gl.glEnable(GL10.GL_CULL_FACE);
gl.glShadeModel(GL10.GL_SMOOTH);
gl.glEnable(GL10.GL_DEPTH_TEST);
}
Solución
respuesta rápida es sí, funciona.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow