2017-02-02 33 views
0

3Dオブジェクトをカメラのプレビューフレーム(Android)に描画しようとしています。カメラプレビュー用とGLSurfaceView用の2つのサーフェスビューを使用する必要があります。ビューは同期していなければならず、フレームレートは十分なユーザーエクスペリエンスを提供するのに十分なはずです。したがって、ほとんどのチュートリアルでは複数のビューを使用する方法について説明しています。別の考え方は、カメラのプレビューからテクスチャを取得し、適切な2Dラスタ画像を得るために3Dオブジェクトとマージして描画することです。 パフォーマンス向上のためにはどの方法が適していますか?Android:単一のSurfaceView対複数のSurfaceView

P.S:私は2つの表面のビューは、フレームごとにAPIコールの数を増加させ、透明性を必要とするため、彼らは遅くなりますのOpenGL ES 2.0

答えて

1

のためのJava APIを使用することになります。

目的に合わせて2つのサーフェスビューは必要ありません。

  1. 深度書き込みを無効にします。
  2. 画面を満たしている2Dクワッドにカメラプレビューをレンダリングします。
  3. 深度書き込みを有効にします。
  4. レンダリング3Dオブジェクト。

これにより、3Dオブジェクトがカメラのプレビューにレンダリングされます。

これは、2つのサーフェイスビューと透過でも実現できますが、処理速度は遅くなります。

関連する問題