openFrameworksでFboのスクリーンショットを保存する方法

openFrameworksでFboのスクリーンショットを保存する方法です。
ofFboをを一旦ofPixelsに変換したのちofImageにするとうまくいくようです。

    ofImage img;
    ofFbo fbo;
    ofPixels pixels;

sキーが押されたらファイルが保存されるようにします。

void ofApp::keyPressed(int key){
    if(key =='s'){
        fbo.readToPixels(pixels);
        img.setFromPixels(pixels);
        char fileNameStr[255];
        string date = ofGetTimestampString();//タイムスタンプをファイル名にする
        sprintf(fileNameStr, "%s.png", date.c_str());
        img.save(fileNameStr,OF_IMAGE_QUALITY_BEST);
    }
}

ofCreateWindowでウィンドウを作った際にGLSL #version 120のShaderを動かすための設定

ofCreateWindowでウィンドウを作った際にGLSLの#version 120が動きませんでした。
setGLVersionの設定を3,2から2,1に書き換えると動きました。

int main( ){
    ofGLWindowSettings s;
    s.setGLVersion(2,1);//ここを2,1にする
    s.width  = 1920;//画面サイズ
    s.height = 1080;//画面サイズ
    ofCreateWindow(s);
    ofRunApp(newofApp());
}

このサイトでも紹介されているように3,2だと#version 150しか動作しません。

ofCreateWindowでつくったウィンドウ内でマウスカーソルを消す方法

openFrameworksのプログラムでofCreateWindowを使ってウィンドウを生成した際にofHideCursor()でマウスカーソルが消えない事象に対する対策です。
Mac OSX Yosemiteで確認しました。

//setup()内に書く
//ofHideCursor(); 効かない
 CGDisplayHideCursor(NULL);//これでカーソルが消える

TrueTypeFontをofVboMeshに変換して表示する方法

openFrameworksでTrueTypeFontをofVboMeshに変換する方法を調べてみました。

フォーラムのこの投稿を参考にしました。
https://forum.openframeworks.cc/t/extrude-text-into-3d/6938/2
続きを読む

openFrameworksとMacBook Pro Retinaでセカンドディスプレイをフルスクリーンにできない現象について

MacBook Pro RetinaでHigh Resolution CapableをYESにしていると、セカンドディスプレイ(外部プロジェクター)でうまくフルスクリーンにできませんでした。

中途半端なところにフルスクリーンウィンドウが表示されてしまいセカンドディスプレイ一杯に表示されません。

最大化ボタンをクリックするとフルスクリーンになるのですが、MacBook側で操作ができなくなってしまうので使えません。
続きを読む

openFrameworksで起動時にセカンドディスプレイでフルスクリーンにする方法

openFrameworksでVJ用のプログラムを起動時にセカンドディスプレイにフルスクリーン表示させたかったのでその方法を調べてみました。

続きを読む

プロジェクターの設置にカメラの三脚が使える

Image-1.jpg

プロジェクターの天吊り用のアダプタを取り付けるためのネジ穴が、三脚との雲台のネジと同じサイズだったので、取り付けてみました。天吊りできない場所でプロジェクタを高位置から投射するのに便利です。

Processing+PuredataでVJツールを作る


oscP5を使ってProcessingでOSCを受信できるようにした。librariesフォルダにライブラリファイルを入れろ!というエラーが出ていたのだけど、これはスケッチファイルのフォルダにcodeというフォルダを作ってそこにoscP5のjarファイルを入れておけばOK。

VestaxのVCM-600でProcessing側の映像を制御するためにPDでコントロールの値を取得。VCMから出力されるMIDIをOSCにコンバートしてProcessingに送った

VCM-600のフェーダーはコントロールナンバー23がチャンネル別になっていることがわかった。引き続き研究だな・・・

Glitch Image Generator

画像データの内容を破壊してグリッチ画像を生成するWebサービスです。
お手持ちのファイルをアップロードするか、http://~で始まる画像URLを入力すると生成されます。
https://www.atnr.net/glitch/
ぜひ、お試しください。