前提・実現したいこと
Android (APIlevel 28)を使って、カメラ映像の上に画像を重ねて表示する (ARのような) カメラアプリを作成しています。
画面上にプレビューするだけでなく、映像をファイルとして出力もしたいので、OpenGLESを用いてカメラ映像の上に画像を表示してそれをエンコーダに流しています。
参考にしたサンプルソースは以下です。
https://github.com/shimoda-tomoaki/CameraTestProject/blob/master/app/src/main/java/ueda/cameratestproject/Renderer.java
発生している問題・エラーメッセージ
OpenGLのテクスチャの扱い方がわからないため、ご教示ください。
自分が理解しているテクスチャの扱い方の流れは下記です。
① テクスチャを生成する。(glGenTextures)
② bindする (glBindTexture)
③ 設定する(glTexParameteri)
---ここまで初期化---
---ここからonDraw内---
④ 使用するシェーダプログラムを指定する (glUseProgram)
⑤ bindする (複数枚テクスチャがある場合はここで指定する)
⑥ テクスチャ変数や頂点変数を設定する (glVertexAttribPointer)
⑦ 描画する (glDrawArrays)
⑧ 複数枚テクスチャがある場合は④-⑦を繰り返す
適当なBitmap画像をテクスチャとして描画する場合には、上記の流れでいいようなのですが、
カメラ映像の場合に、なぜか上記の⑤をしなくても表示できてしまいます。
⑤をしないと、どのテクスチャを表示するか指定していない為、前回のBind対象を描画してしまうと思うのですが、
その認識で正しいですか?
補足情報(FW/ツールのバージョンなど)
初質問なので、勝手がわからなくて申し訳ございません。
何か必要な情報などありましたら、お知らせください。
ソースは諸事情により乗せることができません。
あなたの回答
tips
プレビュー