OpenFrameworksのFBOによって生成されたフレームバッファについてです。
生成されたフレームバッファに例えば
C++
1ofClear(255,255,255,0); 2ofSetColor(255,0,0,255); 3ofRect(0,0,90,90);
と記述したとします。
この正方形の中心に辺の長さが30pxの正方形の穴を空けたいのですが、
その方法として、バッファのアルファ値を直接減算したいのです。
別の方法で記述すると、
C++
1ofClear(255,255,255,0); 2ofSetColor(255,0,0,255); 3ofRect(0,0,90,30); //上の辺 4ofRect(0,60,90,30); //下の辺 5ofRect(0,30,30,30); //左の辺 6ofRect(60,30,30,30); //右の辺
こんな感じになります。
これでは面倒くさいので、アルファ値を直接減算できる合成モードなどなんでも良いので方法は無いでしょうか?
OpenFrameworksの描画はOpenGLを用いていますので、OpenGLの関数での解決方法も全然アリです。
回答よろしくお願いします。
-追記-
RGBAフレームのバッファとアルファ値のみのフレームのバッファ2つを作り、
C++
1color.getTexture().setAlphaMask(alpha.getTexture());
としてみたのですが、透明にならなかったり、真っ黒になってしまったりと、
setAlphaMask関数の扱い方がいまいちわかりません。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。