問題
FBO内にofEnableSmooting()を記述しても以下の様にアンチエイリアスが効かない
解決策
1.fbo.allocate()の第4引数を指定
第4引数は、サンプル数らしい。大きくすればするほど綺麗になる。
fbo.allocate(ofGetWidth(), ofGetHeight(), GL_RGB, 4);
2.加算合成を駆使
描画したいコードの直前で、ofEnableBlendMode(OF_BRENDMODE_ADD)。描画が終わったらEnableAlphaBlendong()とofEnableSmoothing()。
※oFでは、加算合成とスムージングは同時に効かない。その為、加算合成の前にofDisableSmoothing()を記述。
void ofApp::draw(){
fbo.begin();
ofDisableSmoothing();
ofEnableBlendMode(OF_BLENDMODE_ADD);
/*描画したいコード*/
ofEnableAlphaBlending();
ofEnableSmoothing();
fbo.end();
}
コードを書く手間を考えたら、1の方が良さげ。