YUV イメージのストリームを RGB に変換してレンダリングしようとして、iOS で初めて OpenGL を使用しようとしています。Apple の GLCameraRipple サンプル コードで提供されている頂点/フラグメント シェーダーを使用する予定です。変換を実行するために必要な計算を理解しています。OpenGL API と、画面上に 2D テクスチャを簡単に描画する方法を理解するのに苦労しています。
OpenGL を使用してテクスチャを描画するために必要な高レベルの手順を誰かが説明できますか? 概念的に何をする必要があるかを理解すれば、詳細を理解できると思います。
私がこれまでに理解していることから、頂点シェーダーはフラグメントシェーダーの前にトリガーされ、頂点シェーダーは頂点で動作し、フラグメントシェーダーはその間のすべてで動作します。可変キーワードは、頂点間で補間されたデータをフラグメント シェーダーに送信するために使用されます。
これにより、いくつかの疑問が生じます。
- テクスチャの 2D フレームを表す一連の頂点を渡す必要がありますか?
- 頂点を渡す前に YUV データをフラグメント シェーダーに渡す必要がありますか?
- フラグメント シェーダーは、補間された座標を使用して適切な YUV サンプルにアクセスするにはどうすればよいですか?
- 最終結果にアクセスするにはどうすればよいですか?
- 適切なデータをシェーダーに渡した後、操作をトリガーするにはどうすればよいですか?
御時間ありがとうございます。