kumaryu日記
2008-07-24 気持ち悪い
_ [OpenGL] CgでMRT
CgでMRT使おうとしたら、ARB_draw_buffersでなくなぜかATI_draw_buffers拡張を使おうとしやがるが、MacではRadeonなのになぜかATI_draw_buffersがなくてロードできないよー、というのが以前までのお話。
で、いまさら知ったんだが、Cgには-profileoption ARB_draw_buffersと-profileoption ATI_draw_buffersっつーオプションがあるらしい。
プロファイル毎のドキュメントにはさっぱり書いてないが、cgcのドキュメントに書いてあった。ひどい話だぜ。
しかしARB_draw_buffersが標準だって書いてあるのになんでATI_draw_buffers使うんだよ…。
あ、cgGLSetOptimalOptionsか。Radeonだから勝手にATI_draw_buffers指定してくれたのか。
気を利かせたつもりかもしれんけど、どうせならその拡張があるかどうかまでチェックしてくれればよかったのに…。
まあMRT使えるようになったとしても、輪郭線描くのに裏面を線で描いてる現状では使えないんですけどね。
どうしても一回で描きたいならGeometryShader使う手もあるけど、そこまですると本末転倒っぽくて素敵ですね。