toge's diary

コンピュータ関連の趣味をつらつらと。

Dual Display始めました

やっとこさ、重い腰をあげてLinux上のDual Displayを設定してみました。ちょっとはまったけれど、nVidiaであれば結局は/etc/X11/xorg.confのDevice Sectionを弄ればよいだけと分かる。

Section "Device"
	Identifier  "Videocard0"
	Driver      "nvidia"
	VendorName  "nVidia corp."
	BoardName   "NVIDIA GeForce 6600"
	Option	    "DPMS"
	Option	    "RenderAccel"
	Option	    "HWcursor"
	Option	    "CursorShadow"
	Option	    "CursorShadowAlpha" "32"
	Option	    "AllowGLXWithComposite"
	Option	    "UseDisplayDevice" "DFP-0, CRT-0"
	Option	    "TwinView" "True"
	Option	    "MetaModes" "DFP-0: 1920x1200, CRT-0: 1280x1024"
	Option	    "TwinViewOrientation" "DFP-0 RightOf CRT-0"
	Option	    "SecondMonitorHorizSync" "31-82"
	Option	    "SecondMonitorVertRefresh" "55-120"
	Option	    "RandRRotation" "true"
	Option	    "CoolBits" "1"
	Option	    "NvAGP" "3"
	Option	    "NoLogo" "1"
	Option	    "AddARGBGLXVisuals" "true"
	BusID       "AGP:2:0:0"
EndSection 

しかし、まだろくに弄っていませんが、なんかこなれないね。
右側に解像度の低い17ichを置いて、左側に24ichというレイアウトを作ってみました。

あくまで17ichはサブとして使いたいんだけど、17ichが仮想画面の一番左上を表示することになるので、Gnomeの重要な情報(スタートメニューとか、ショートカットとか)が17ichに出てしまう。

17ichはWindowsと切り替えることもあるので、ちと不便なのだ。

あと、壁紙も各ディスプレーごとに設定できれば良いのだが、仮想画面でひとつの画像になるので、そうもいかない。仮想画面の大きさを見積もって、各ディスプレーごとの継目で画像が切り替わるような背景画像を合成すればいいんだろうけど。

なんにせよ、次はここら変がWindowsに追い付かなきゃいけないところなのかな?
今時Dual Displayは職場でも当たり前のように使われているし。

照明入門

水面を表現しようと苦闘中。

何も考えずに実装するとむちゃくちゃ重いなぁ、OpenGL使ったプログラムで30fpsを切ったのは初めてだ。ある程度こなれてきたらカリングなどなどを含めた最適化をしないと。

今の所最大の問題は、水っぽい平面に出来ないこと。
やっぱりフラットシェーディングでは問題なので、各頂点ごとに適切な法線が必要なんだろうな。さて、どうしたら現実的な時間で可能なんだろうか?

ここらへんは腐るほど情報があるはずなので、ちなちま実装していきます。