なぜこうなった
VJをやる際に条件が
「1280 x 800」のプロジェクター2台をひとつなぎ
ということだった.
DualHead2Goも高いし,ThunderboltをMacBook Pro Retinaから2つ出した状態で
システム的になんとかできないかということだった.
フルスクリーン処理は一画面のみ
よくopenFrameworksでVJする際は
1 2 |
ofSetFullScreen(true); |
を使用するが,これは1画面の中でタイトルバーをなくして表示するもの.
今回使うとMacBookの画面も合わせてどれか1つしかフルスクリーンにできない.
今回の方法
- openFrameworks内部に一行加える
- 2台分の解像度をmain.cpp上に書く
- 画面のポジションを書く
1. openFrameworks内部に一行加える
of_v0.8.4_osx_release/libs/openFrameworks/app/ofAppEGLWindow.cpp
を開き,GLFWWindowHintが設定させているあたりの行頭に以下を追加.
1 2 |
glfwWindowHint(GLFW_DECORATED, false); |
すると,タイトルバーが消えたただの四角が出てくるようになる.
タイトルバーが欲しい場合は書き加えた行をコメントアウトなどする.
2. 2台分の解像度をmain.cpp上に書く
main.cpp上の解像度設定画面に必要な解像度を書く.
今回の自分の場合だと
1 2 |
ofSetupOpenGL(2560,800,OF_WINDOW); |
となった.
3. 画面のポジションを書く
ofApp.cppのsetup関数内に画面の場所を書く.
今回自分はMacBookProの左に二画面繋げたので,
1 2 |
ofSetWindowPosition(-2560, 0); |
となった.
これで急に数画面ひとつなぎという現場にも対応ができるようになった.