現在、VulkanのチュートリアルやサンプルはすべてAndroidプラットフォームでNativeActivityを使用しているようです。 AndroidでJava Activityを使ってVulkanを使用できるかどうかを知りたいですか?AndroidプラットフォームでJavaアクティビティでVulkanを使用することはできます
0
A
答えて
2
はい、独自のアクティビティサブクラスでVulkanを使用できます。 AndroidにはVulkan用のJava言語バインディングがないため、JNIまたはサードパーティのJava Vulkanライブラリ(JNIを使用している)を使用する必要があります。
ビュー階層にはSurfaceViewが含まれている必要があり、Surfaceholder.Callback#surfaceChangedコールバックを取得するとSurfaceを取得できます。自分でJNIをやっている場合は、ANativeWindow_fromSurfaceと呼んでSurfaceからANativeWindowを取得し、それを使ってVkSurfaceKHR/VkSwapchainKHRを作成することができます。
注意すべき点は、VkAcquireNextImageKHRを呼び出すときにメインのUIスレッドをブロックしないようにすることです。長い間ブロックしない場合にのみ呼び出すようにアレンジするか、フレームループを別のスレッドに配置してください。
関連する問題
- 1. AndroidスタジオでJava専用モジュールを使用することはできますか?
- 2. WindowsプラットフォームでSANEバックエンドを使用することはできますか?
- 3. ピカソを使用してAndroidプラットフォームでImageViewを翻訳することはできますか?例えば
- 4. AndroidでGTK +を使用することはできますか?
- 5. AndroidプラットフォームでJPEGImageDecoderを使用する
- 6. Vulkanで三角形を描くことはできません
- 7. Androidでフォントを使用することはできません
- 8. ネイティブAndroidプラットフォームの文字列を参照することはできますか?
- 9. Vulkanでサーフェスを使用せずにオフスクリーンレンダリングを行うことはできますか?
- 10. Android用のGradleビルドシステムをEclipseで使用することはできますか?
- 11. Cordova AndroidでWebMidiでSysExメッセージを使用することはできますか?
- 12. は、Javaでアクティビティを呼び出すandroid
- 13. Androidでは、同じアクティビティで同じクラスファイルを使用できますか?
- 14. EclipseでAndroid SDK Javaを使用してタブレット用に開発することはできますか?
- 15. のMavenとのAndroidプロジェクトをビルドエラー:プラットフォーム/ APIレベル16は使用できません
- 16. アンドロイドの別のアクティビティでアクティビティを作成することはできますか?
- 17. ユニバーサルアプリケーションユーザーのプラットフォームのバージョンを知ることはできますか?
- 18. AndroidのアクティビティからUIオートメーションを実行することはできますか?
- 19. Android:2つのアクティビティをスワイプすることはできますか?
- 20. javaをインストールしないでJRebelを使用することはできます
- 21. セッションオブジェクトはAndroidのさまざまなアクティビティで使用できます
- 22. AndroidプラットフォームでTensorflowを使用するには?
- 23. アンドロイドでアクティビティを再利用することはできますか?
- 24. log4j変換パターンでJavaオブジェクトを使用することはできますか?
- 25. PythonプログラムでJavaコードを使用することはできますか?
- 26. Java Enumでbuilderパターンを使用することはできますか
- 27. Java 9でsun.misc.Unsafeを使用することはできますか?
- 28. JavaアプリケーションでAero Glassエフェクトを使用することはできますか?
- 29. デスクトップアプリケーションでJava WebSocketを使用することはできますか?
- 30. Android用JavaでPhonegapを使用できますか?
純粋なJavaプロジェクトでVulkanを使用することを意味しますか?もしそうなら、わからない。 レンダリングのためにネイティブライブラリ(c/C++コード)を呼び出すJavaアクティビティでVulkanを使用することを意味する場合は、可能です。出荷されているタイトルではそうしています。残念ながら、私は詳細を提供する自由がないし、設定方法を示すサンプルも知っている。 – Columbo
lwjglには俗語のラッパーがありますが、私はアンドロイドの互換性についてはわかりません –
あなたのアドバイスをありがとう。 –