現在、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. Androidでフォントを使用することはできません
- 7. ネイティブAndroidプラットフォームの文字列を参照することはできますか?
- 8. Vulkanでサーフェスを使用せずにオフスクリーンレンダリングを行うことはできますか?
- 9. Android用のGradleビルドシステムをEclipseで使用することはできますか?
- 10. Androidでは、同じアクティビティで同じクラスファイルを使用できますか?
- 11. EclipseでAndroid SDK Javaを使用してタブレット用に開発することはできますか?
- 12. は、Javaでアクティビティを呼び出すandroid
- 13. のMavenとのAndroidプロジェクトをビルドエラー:プラットフォーム/ APIレベル16は使用できません
- 14. アンドロイドの別のアクティビティでアクティビティを作成することはできますか?
- 15. ユニバーサルアプリケーションユーザーのプラットフォームのバージョンを知ることはできますか?
- 16. AndroidのアクティビティからUIオートメーションを実行することはできますか?
- 17. Android:2つのアクティビティをスワイプすることはできますか?
- 18. セッションオブジェクトはAndroidのさまざまなアクティビティで使用できます
- 19. javaをインストールしないでJRebelを使用することはできます
- 20. AndroidプラットフォームでTensorflowを使用するには?
- 21. アンドロイドでアクティビティを再利用することはできますか?
- 22. デスクトップアプリケーションでJava WebSocketを使用することはできますか?
- 23. JavaアプリケーションでAero Glassエフェクトを使用することはできますか?
- 24. Java Enumでbuilderパターンを使用することはできますか
- 25. log4j変換パターンでJavaオブジェクトを使用することはできますか?
- 26. Android用JavaでPhonegapを使用できますか?
- 27. Androidアプリでdiffを使用することはできますか?
- 28. 複数のプッシュプロバイダをAndroidで使用することはできますか?
- 29. Android開発でjavax.scriptを使用することはできますか?
- 30. libgdx AndroidプロジェクトでRxJavaを使用することはできますか?
純粋なJavaプロジェクトでVulkanを使用することを意味しますか?もしそうなら、わからない。 レンダリングのためにネイティブライブラリ(c/C++コード)を呼び出すJavaアクティビティでVulkanを使用することを意味する場合は、可能です。出荷されているタイトルではそうしています。残念ながら、私は詳細を提供する自由がないし、設定方法を示すサンプルも知っている。 – Columbo
lwjglには俗語のラッパーがありますが、私はアンドロイドの互換性についてはわかりません –
あなたのアドバイスをありがとう。 –