【openFrameworks】ofFBOのアンチエイリアス
問題
解決策
以下二つの解決策を発見
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の方が良さげ。