Yukiharu YABUKI の tDiary
このtDiaryを検索します。
2014-02-03 [長年日記]
_ MikuMikuPenguin を Debian GNU/Linux Wheezy で動かす(OpenGL 2.1)
3Dのモデルを動かすことができる。pmx と vmd の形式と呼ばれるファイルを読み込み、PMXViewer として動く。ライセンスは GPLv3 (https://github.com/sn0w75/MikuMikuPenguin) で開発が進んでいる。いまは、PMXViewer だけだが、libmmp を作って、利用されるのが直近の目標のようだ。
開発者は、かなり日本語が上手なアメリカ在住の人みたいで、英語はもちろん、日本語も堪能だ。が、3Dモデルの世界では用語も難しく(日本人でも関心がなければ、そのような語彙は身に付かないだろう)、C++のプログラミングだけでなく、ドキュメンテーションなどでも助力できる人もいるんじゃないかと思う。
以下は、ThinkPad X201s の上で、Debian GNU/Linux Wheezy で、MikuMikuPenguin の PMXViewer をコンパイルして動かすまでの話です。
ビルドどれをビルドするか、github の master は、OpenGL 3.0 以上を想定している。いまの README.md にはチェック方法を書いているので、そっちを参照してもらいたい。
buildをするのに、wheezy の下記のライブラリをインストールする。細かい所だと、抜けがあるかと思う。私は他の関係で automake, autotool など入れているから。
sudo apt-get install build-essential sudo apt-get install libglfw-dev sudo apt-get install libglew-dev sudo apt-get install libglm-dev sudo apt-get install libsoil-devで、libbulletdynamicsは、wheezy にはない。sidからソースパッケージを取ってきて、自分のマシンでrebuildする。buildd-depの解決はそんなに難しくない。下記参照。(ただし、クリーンな環境から試してないから抜けてる依存関係があるかもしれないが)deb-src をsidに向けて、apt-get source で、 bullet のソースコードを落として、再ビルドすればいい。
sudo apt-get install cmake freeglut3-dev libtinyxml-dev zlib1g-dev doxygen rdfind symlinks再ビルドすると、
yabuki@yelona:~/src/deb-package/i386/libbulletdynamics$ ls bullet-2.81-rev2613+dfsg2 bullet_2.81-rev2613+dfsg2-1.debian.tar.xz bullet_2.81-rev2613+dfsg2-1.dsc bullet_2.81-rev2613+dfsg2-1_i386.build bullet_2.81-rev2613+dfsg2-1_i386.changes bullet_2.81-rev2613+dfsg2.orig.tar.xz libbullet-dev_2.81-rev2613+dfsg2-1_i386.deb libbullet-doc_2.81-rev2613+dfsg2-1_all.deb libbullet-extras-dev_2.81-rev2613+dfsg2-1_i386.deb libbullet2.81-dbg_2.81-rev2613+dfsg2-1_i386.deb libbulletcollision2.81_2.81-rev2613+dfsg2-1_i386.deb libbulletdynamics2.81_2.81-rev2613+dfsg2-1_i386.deb libbulletfileloader2.81_2.81-rev2613+dfsg2-1_i386.deb libbulletsoftbody2.81_2.81-rev2613+dfsg2-1_i386.deb libbulletworldimporter2.81_2.81-rev2613+dfsg2-1_i386.deb libbulletxmlworldimporter2.81_2.81-rev2613+dfsg2-1_i386.deb libconvexdecomposition2.81_2.81-rev2613+dfsg2-1_i386.deb libgimpactutils2.81_2.81-rev2613+dfsg2-1_i386.deb libhacd2.81_2.81-rev2613+dfsg2-1_i386.deb liblinearmath2.81_2.81-rev2613+dfsg2-1_i386.debな感じで、パッケージができあがっているので
sudo dpkg -i libbulletdynamics2.81_2.81-rev2613+dfsg2-1_i386.deb libbulletcollision2.81_2.81-rev2613+dfsg2-1_i386.deb liblinearmath2.81_2.81-rev2613+dfsg2-1_i386.deb libbullet-dev_2.81-rev2613+dfsg2-1_i386.deb libbulletsoftbody2.81_2.81-rev2613+dfsg2-1_i386.deb上記のようにインストールする。後は
export CXXFLAGS="-fpermissive" autoreconf -i ./configure makeで、カレントディレクトリに、pmx という実行ファイルができてるはず。このバイナリーにデータを入力するといいのだが、Windowsな世界なので、漢字コードが違うファイル名でzipされているので、Ubuntuの unizp -O オプション(これは、ubuntuだけでなく、arch Linux でも、upstreamに還元せずに自前で保守されているようだ)を使って、圧縮ファイルを伸長するか、samba を使い、windowsでの伸長された内容を取ってくる。smbclientでもいいかと思う。
データ自体は、NicoNico系で取ってこれるとおもう。
$ ls -la 合計 18596 drwxr-xr-x 5 yabuki yabuki 4096 1月 31 03:51 . drwxr-xr-x 18 yabuki yabuki 4096 1月 29 13:19 .. drwxr-xr-x 14 yabuki yabuki 4096 2月 1 04:11 MikuMikuPenguin drwx------ 3 yabuki yabuki 4096 1月 28 22:13 Tda式初音ミク・アペンドVer1.00 -rw-r--r-- 1 yabuki yabuki 18216215 1月 28 22:12 Tda式初音ミク・アペンドVer1.00.zip drwx------ 2 yabuki yabuki 4096 1月 28 22:14 私の時間short -rw-r--r-- 1 yabuki yabuki 766184 1月 28 22:12 私の時間short.zip本当は、Debian GNU/Linux Sid ならもっと簡単
Debianの開発版である、Sidを使った方がもっと簡単なのだ。が、人によっては開発版で生活できない人もいる。ので、安定版のWheezyでやりましたが、自力で調べて問題解決できる人間なら、Debian Sidの方が話が早い。再ビルドもしなくていいし、ライブラリのバージョンも upstream とほぼ同じになる。
2014-02-10 [長年日記]
_ [Emacs] dired-virtual-mode
- Dired Extra Version 2 User's Manual(http://sunsite.ualberta.ca/Documentation/Gnu/emacs-21.1/html_mono/dired-x.html)
- dired-virtual-mode を使うには、dired-x を M-x load-library する必要がある。必要に応じて、init.elや.emacsへ書いておく
$ apt-file search dired-x emacs23-common: /usr/share/emacs/23.4/lisp/dired-x.elc emacs23-common-non-dfsg: /usr/share/info/emacs-23/dired-x.gz emacs23-el: /usr/share/emacs/23.4/lisp/dired-x.el.gz emacs24-common-non-dfsg: /usr/share/info/emacs-24/dired-x.gz
2014-02-11 [長年日記]
_ [Vim] Debian での vim の作法
いままで、Emacsだけで、vimは、ほぼ素で使ってきたが、いざ vim を設定しようと思うと、よくわからない部分がいっぱいある。例えば、~/.vimrc を作るのは良いとして、
$ locate markdown.vim /usr/share/vim/vim73/ftplugin/markdown.vim /usr/share/vim/vim73/syntax/markdown.vimのようなプラグインがある模様だが、拡張子が .markdown 以外に を利用していた時に、.md をシンタックス・ハイライトするのに、どうすればいいとか。何を読めばいいのかしら? とかね。
シンタックス・ハイライトの色も変えたくなるだろうし、フォントも変えたくなるに違いない。fixedの、いわゆる漢字の空白を可視化しているフォントをプログラミング時には使いたいから。
_ [Vim] help を日本語で見る
(https://code.google.com/p/vimdoc-ja/downloads/list)にvimの日本語helpがあるので、~/.vim/doc に展開して (scriptの方はべつの時に)
helptags ~/.vim/doc set helplang=ja,enを~/.vimへ追記する。参考にしたのは、(http://www.sougetu.net/archives/1170)でした。
2014-02-19 [長年日記]
_ graphviz の dot 言語みたいな感じで
コンサルな人が良く書きそうなパターンの図、例えば、こんな図を dot言語みたいに、テキストから生成する方法ってないのかな。
円が重なる図で日本語フォントがぶっ込めるのは、まだ見つけられていない
2014-02-23 [長年日記]
_ 関西Debian勉強会 で systemd
TLをみていると、ぽこぽこと風邪で欠席されるかたがいて大変そうだったので、関西Debian勉強会の様子を見に行った。
開催はされていて一安心。Debian kFreeBSD をいれて苦労されている方がいたので少しお手伝い。日本語入力で、Debian の default である task-Japanese-desktop に入っている、uim の設定を続行してユーザで日本語入力を行える所まで確認した。
systemdの話題が、やはりホットであったので、自分の sid マシンを sysv-init から systemd-sysv を入れて、移行してみた。いろいろとドラスチックに変わるが、i3-wmで、ノートパソコンのlidを閉じるとメモリー・サスペンドするようになって幸せです。i3-wm を network-managerやhp-systrayともicon表示して便利に使えるようにしたし、暮らしていける気になってきた。i3-wm の要求リソースが低いのと、gnome-shellがメモリーを食いつぶしていたせいもあり、長時間稼働させていても、(プログラムの反応が機敏なため)ずっと楽しさが続く。
i3-wm で複数のディスプレイの実験をしていて、複数画面の設定をしたついでに、最近使っている、i3-wm の話を少しした。