традиционный способ сделать фон предварительного просмотра камеры с OpenGL на переднем плане — взять два SurfaceView (один для камеры, другой для OpenGL) и наложить их друг на друга. Проблема в том, что складывать SurfaceViews в стек не рекомендуется:
http://groups.google.com/group/android-developers/browse_thread/thread/4850fe5c314a3dc6
Итак, какие есть альтернативы? Я рассматривал следующее:
- Подкласс GlSurfaceView, а затем вызовите установку предварительного просмотра камеры на держатель этого подкласса: Camera.setPreviewDisplay(mHolder);
- Не используйте GLSurfaceView, вместо этого создайте свой собственный подкласс SurfaceView, в котором вы отображаете предварительный просмотр камеры на держателе, а также рисуете свой openGL. Для этого потребуется использовать OpenGL без GLSurfaceView, кто-нибудь делал это раньше?
Я не уверен, что это вообще возможно или имеет смысл, так как подразумевает отображение предварительного просмотра камеры на держателе поверхности и одновременное рисование OpenGL на той же поверхности. Есть ли другая разумная альтернатива решению проблемы без использования двух SurfaceView?
Спасибо!