]
トップ 最新 追記

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


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 言語みたいな感じで

コンサルな人が良く書きそうなパターンの図、例えば、こんな図3つの円が重なっている図を 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 の話を少しした。