自習室

こもります

glutCreateSubwindow

サブウィンドウ

OpenGLのwindowの中に、サブウィンドウを作ることができる。便利すぎる!

http://wiki.livedoor.jp/mikk_ni3_92/d/%c8%af%c5%b8%ca%d403%3a%3a%a5%b5%a5%d6%a5%a6%a5%a3%a5%f3%a5%c9%a5%a6
当然ちゃ当然だけど、二つのウィンドウで全く異なる物を描くことが出来る。投影法も変えられる。

subwindowのサイズ連動

メインウィンドウのサイズ拡縮に連動してサブウィンドウのサイズも拡縮できるようにしてみました。
OpenGL de のサンプルに以下の物を追加。

// (追加)親ウィンドウのサイズを覚えておくグローバル変数
int wwidth, wheight;

void reshape(int w, int h)
{
	glViewport(0, 0, w, h);
	
	// (追加)親ウィンドウのreshapeがあった際にサイズを覚えておく
	wwidth = w;
	wheight = h;
	// 以下略
}

void displaySub()
{
	// 前略
	// (追加)カレントなウィンドウ…ここでは確実に自分自身つまり、
	// subdisplay のサイズを変更する。
	// ここでは親ディスプレイの半分って事にしてる
	glutReshapeWindow(wwidth/2,wheight/2);
}