私は純粋にネイティブのAndroid NDKアプリケーションを持っています。メインループは、android_native_app_glue.hによって提供されるようにAndroid NDK:android_main以外のスレッドでOpenGL描画呼び出し
android_main
にあります。
私は、私が試したandroid_main経由して、別のスレッドで何かをレンダリングする必要があります。
pthread_t thread1;
pthread_create(&thread1, NULL, renderstuff, NULL);
void *renderstuff(void *ptr)
{
// some opnegl es draw calls
}
しかし、これは何もレンダリングされません。 android_mainから同じdraw呼び出しを実行すると(新しいスレッドを作成せずに)、それはうまくレンダリングされます:S
私はしませんでしたが、いくつかのログステートメントが印刷されるので、新しいスレッドが入力されていることがわかりました。 –
マルチスレッドOpenGLレンダリングの要件です。このようなことに対処したくない場合は、新しいスレッドを初期化して描画します。 – Jasoneer
残念ながら、私はeglMakeCurrentを使用しようとしましたが、EGL_FALSEを返します! : –