きままにものづくり

日々の気付いたことなんかを書いてます。

シェーディング言語をやってみようかな

こんばんは、evene_ekoです。

今日の記事は、前回の記事(OpenGL ~透明な線を描く(2)~)の派生です。

 

昨日は結局、濃度が一定な透明な線は描けませんでした。

理由は、UIView間でフレームバッファを移すことができなかったからです。思いついた方法は、子のフレームバッファをテクスチャバッファにコピーし、それを親のフレームバッファに貼付けるという方法です。

カラーバッファのみをテクスチャバッファにコピーするglCopyTexImage2Dという関数はあります。

しかし、ここで問題が出てきました。今は、OpenGLES1.1を使用しているのですが、glCopyTexImage2DがサポートされているのはOpenGLES2.0からです。

OpenGL2.0は1.1でサポートされている固定機能パイプラインをサポートしていません。そのため、シェーディング言語を用いて、自分でパイプラインをプログラムしなければなりません。シェーディング言語は一度も使ったことがないのですが、機能を拡張するためには必須になりそうなので、空いた時間にでも勉強しようと思います。