こんばんは、evene_ekoです。
今日の記事は、前回の記事(OpenGL ~透明な線を描く(2)~)の派生です。
昨日は結局、濃度が一定な透明な線は描けませんでした。
理由は、UIView間でフレームバッファを移すことができなかったからです。思いついた方法は、子のフレームバッファをテクスチャバッファにコピーし、それを親のフレームバッファに貼付けるという方法です。
カラーバッファのみをテクスチャバッファにコピーするglCopyTexImage2Dという関数はあります。
しかし、ここで問題が出てきました。今は、OpenGLES1.1を使用しているのですが、glCopyTexImage2DがサポートされているのはOpenGLES2.0からです。
OpenGL2.0は1.1でサポートされている固定機能パイプラインをサポートしていません。そのため、シェーディング言語を用いて、自分でパイプラインをプログラムしなければなりません。シェーディング言語は一度も使ったことがないのですが、機能を拡張するためには必須になりそうなので、空いた時間にでも勉強しようと思います。