Question

Pouvez-vous mélanger Java et appels OpenGL natif. Par exemple ayant la configuration se produit dans le onSurfaceCreated, mais ayant l'appel onDraw en code natif (ou même les deux)? Je vais avoir du mal à obtenir du code natif pour rendre, mais ne peut pas dire si cela pourrait être un problème ou si je jette c de les exceptions, mais ils ne le font pas bouillonner ...

    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);
}
Était-ce utile?

La solution

réponse rapide est oui, cela fonctionne.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top