![](/img/trans.png)
[英]OpenGL on Android: Any conflicts when calling OpenGL functions in both Java and C++?
[英]Android OpenGL using both Java and C++
您可以混合Java和本地OpenGL調用嗎? 例如,設置發生在onSurfaceCreated中,但是onDraw調用進入了本機代碼(或什至兩者都有)? 我在渲染本機代碼時遇到了麻煩,但是無法確定這可能是一個問題,還是我拋出了c ++異常,但是它們不會冒泡……
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);
}
快速回答是,可以。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.