今度のイベントで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です。
多面投影は楽しいので、一度やってみてはいかがでしょう?
コメントを残す