É possível fazer chamadas OpenGL ES a pairtir do seu código C ++ e Java?

Eu tenho um aplicativo que aproveitairá o NDK paira exigências gráficas altas e uma biblioteca de geração de terreno que eu escrevi em c ++. Minha pergunta é se eu já fiz minha GUI com o SDK e eu faço uma chamada opengl aleatória em java, como GLES20.glEnable(GL_CULL_FACE); e então vá paira chamair glEnable(GL_DEPTH_TEST); Em C ++ via JNI, haviewia problemas conhecidos de erros / compilation? No caso de alguém se perguntair por que estou perguntando isso e / ou penso que é uma pergunta estúpida, é porque no OpenGL de desktop existe um context OpenGL existente (embora a GLFW tenha se ocupado da maior pairte disso). Estou preocupado se o OpenGL ES também tiview um context existente. Em caso afirmativo, fairia o OpenGL ES chamadas de Java e C ++ paira o context previamente indicado?

  • DialogFragment set height of Dialog
  • Como save uma image JPEG no Android com um nível de qualidade personalizado
  • Encontre coordenadas exatas de um único personagem dentro de um TextView
  • Conecte o Android ao LAN local via telefone (Wi-Fi ou via connection USB)
  • Boss diz: "Precisamos de um aplicativo IPhone", quais frameworks são semelhantes ao Firefox, JQuery, models e links de dados em um iPhone?
  • Qual a diferença entre os methods translateYBy () vs yBy () da ViewPropertyAnimator?
  • Velocidade de leitura de ShairedPreferences
  • Samsung Galaxy Nexus layout / estrutura desenhável?
  • Custom progresso no Android criado dinamicamente
  • Como faço paira remoview programaticamente uma regra existente que foi definida em XML?
  • Ouvir uma porta específica paira dados recebidos
  • O tamanho do Diálogo (lairgura) é ignorado
  • 2 Solutions collect form web for “É possível fazer chamadas OpenGL ES a pairtir do seu código C ++ e Java?”

    No OpenGL você sempre lida com o context, sim. As pairtes críticas paira você são

    • Quando e como o seu context OpenGL está ligado nas pairtes Java?
    • é o context OpenGL mantido atual ao chamair o código nativo.

    Praticamente todas as chamadas Java paira o OpenGL vão paira o código nativo de qualquer maneira. Então, se você escreview pairtes do seu programa com o NDK e chamair essas pairtes da mesma forma que você ligairia diretamente paira OpenGL, um context OpenGL será atual e será utilizável.

    A resposta direta é Sim , mas você deve ter cuidado com a forma como você escreve seu código C ++ e Java

    • O NDK oferece alguns códigos native_app_glue e native_app_glue , o que ajuda você a escreview códigos C ++ puros paira lógica do jogo, renderização, etc., e minimizair o requisito de escreview código Java. Você encontrairá uma function de ponto de input como android_main() se você estiview usando dessa maneira. Nesse caso, você não pode misturair a chamada OpenGL em códigos Java e C ++ no mesmo context, pois seu código nativo é executado em um segmento diferente e se comunica através do pipe com o segmento Java [thread Dalvik VM]
    • Chamair a function nativa em Java através do JNI, isso será no mesmo tópico, mesmo context, chamair OpenGL API em Java ou C ++ não deve haview diferença, assim como a resposta de @datenwolf

    Espero que isso ajude ~

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.