oF : fbo AntiAliasing : Solid back
やりたいこと
* AlphaでCutoutした画像をfbo上で重ねたい
* 画像同士の重なりはないが、Cutoutはしたい(背景を抜きたい)
* -> fbo上もAlpha Blendし、fboをScreenに描画する時も、Alpha Blend.
* 作成したfbo画像は、syphonでunityに送る
問題
fbo.allocate(WINDOW_WIDTH, WINDOW_HEIGHT, GL_RGBA, 4);
などとしても、エイリアスが見えてしまう。
原因/対策
fboの背景をSolid Backにすることで、ジャギが消える。
OK : ofClear(0, 0, 0, 255);
NG : ofClear(0, 0, 0, 0);
unity側で、どのように使いたいか次第だが、空間に浮かせるタイプの場合は、oFをSolid Backにした上で、unity側は、materialをLegacy/Particles/Additiveなどにすればok。
∵Additiveなので、黒は、透過される。
一方、Additive materialを使用しない場合で、かつ透過させて模様のみを表示したい時は、oFをSolidBackにしてしまうと、背景が抜けない。なので、oFは、透過Backにし、ジャギは目をつむる。画像上、線の太さを調整するなどして、調整。
sample source
* Github にsample sourceを上げておいた。
もしよろしければ、サポートをお願いします! 頂いたサポートは、Creatorとしての活動費に充てさせて頂きます。