今度のイベントで5面マルチスクリーンで投影したので、その方法です。もしかしたらWindowsしかできないかも・・・?Macでの動作確認次第、追記します。
openFrameworksではProcessingと異なり、フルスクリーンが簡単に使えるような仕様になってます。具体的には以下のように、main.cpp
のOF_WINDOW
と書かれた部分をOF_FULLSCREEN
に書き換える。
#include "ofMain.h" #include "testApp.h" #include "ofAppGlutWindow.h" //======================================================================== int main( ){ ofAppGlutWindow window; ofSetupOpenGL(&window, 1024,768, OF_FULLSCREEN); // <-------- setup the GL context // this kicks off the running of my app // can be OF_WINDOW or OF_FULLSCREEN // pass in width and height too: ofRunApp( new testApp()); }
ただ、これではマルチスクリーンにしているとき、そのどれか一つをフルスクリーンにすることになってしまいます。そのため、空間に投影するときなど複数のスクリーンに投影すると、どれか一つの面はフルスクリーンになるのですが、ほかはデスクトップが表示されてしまいます。
マルチスクリーン全てを(擬似的に)フルスクリーンにするには次のようにします。
#include "ofMain.h" #include "testApp.h" #include "ofAppGlutWindow.h" //======================================================================== int main( ){ ofAppGlutWindow window; ofSetupOpenGL(&window, MY_WIDTH, MY_HEIGHT, OF_WINDOW); // <-------- setup the GL context ofWindowPosition(0, 0); // this kicks off the running of my app // can be OF_WINDOW or OF_FULLSCREEN // pass in width and height too: ofRunApp( new testApp()); }
ここで、MY_WIDTH
とMY_HEIGHT
は画面の大きさです。例えば、1024×768を3x2で配置するとするとMY_WIDTH=1024×3, MY_HEIGHT=768×2です。
多面投影は楽しいので、一度やってみてはいかがでしょう?
コメントを残す