MacOSX 上で Nebula Device 2 の build に挑戦中(2)

nglviewer の build までは漕ぎ着けたけど、 OpenGL の初期化をしていないため「 OpenGL の関数が使用できない」という状態です。

$ nglviewer
nIpcServer: listening on port 12067...
startup.tcl: OnStartup called
nGLServer2::DeviceOpen()

Device information
Vendor: (null)
Renderer: (null)
Version: (null)

Supported GL extensions:

Init OpenGL extensitions:
[-] GL_ARB_shading_language_100

[-] GL_ARB_vertex_program

[-] GL_ARB_fragment_program

[-] GL_ARB_shader_objects

[-] GL_ARB_vertex_shader

[-] GL_ARB_vertex_buffer_object

[-] GL_ARB_texture_compression

[-] GL_EXT_texture_compression_s3tc

[-] GL_ARB_texture_cube_map

[-] GL_ARB_multitexture

[-] GL_ARB_occlusion_query

*** NEBULA ASSERTION ***
programmer says: nGLServer2::DeviceOpen(): GL_ARB_shader_objects extention not supported!
expression: N_GL_EXTENSION_SUPPORTED(GL_ARB_shader_objects)
file: ../../code/contrib/nopengl/src/opengl/nglserver2_device.cc
line: 164
Abort trap: 6

そもそも glGetString 自体が動作していないという事から、ディスプレイの初期化すら出来ていない状態です。

ディスプレイの初期化が出来ると、ハードウェアの情報が取得出来るので、

GL_VENDOR … ATI Technologies Inc.
GL_RENDERER … ATI Radeon HD 4670 OpenGL Engine
GL_VERSION … 2.1 ATI-8.0.61

といった情報が取得出来るはずです。(これはうちの環境が iMac 21.5-inch, Late 2009 だからです。)

nOpenGL 部分が win32 向けに用意されているのと、自分が X11 上で OpenGL アプリケーションを開発したことがないため、 windows から X11 への差し替えをどうやればいいのか判断出来ない状態となりました。

irrlicht でも参考にしてみるかな。

 

MacOSX 上で Nebula Device 2 の build に挑戦中(1)

Nebula Device 2 は update.py を使用してビルド環境を生成する仕組みになっています。

例えば、

python update.py -build makefile nebula2libs nebula2tools nopengl

という指定をする事で、 makefile を使用するビルド環境を用意する事が出来ます。

Nebula Device 2 の描画システムは標準で DirectX9 を使用するのですが、gfx2 ライブラリを自分で用意することで他のシステム上に移植することが出来るようになっています。

幸いなことに OpenGL 用のモジュールが nebula2/code/contrib/nopengl に含まれているので、これを使用することで MacOSX 上でも Nebula Device 2 が動くようになりそうです。

実を言うと update.py で生成する Makefile に OSTYPE=darwin と指定する事で、 MacOS 上でのビルドが行えるようになっているのですが、 Nebula Device 2 自体が古いため、想定されているシステムは darwin8.0 ( MacOSX 10.4 ) までとなります。

ここは頑張らずに linux ( X11 + OpenGL ) の環境で build に挑戦してみることにします。

ソースコードの入手

まずは SourceForge からソースコードを入手します。

svn co https://nebuladevice.svn.sourceforge.net/svnroot/nebuladevice/trunk NebulaDevice2

あとは build するだけ…というわけにはいかず、依存するライブラリも用意する必要があります。

必要なものは以下のものとなります。

  • libogg
  • libvorbis
  • libtheora
  • sqlite
  • XQuartz

というわけで、まずはこれらを build する必要があります。

それぞれの build に関しては、以下のように -m32 を指定しておきます。( Nebula Device 2 内に 32bit 環境前提のコードが含まれている為。)

export CFLAGS="-m32"
export CPPFLAGS="${CFLAGS}"
export CXXFLAGS="${CFLAGS}"

…先は長そう。

BLADES of TIME を買いました

だいぶ前に ubisoft[1. 開発は Gajin Entertainment] から X-BLADES というゲームが発売されたのですが、BLADES of TIME はそれの続編となります。

bt_01 キャラクターに前作の面影はないです。

bt_02 bt_03 bt_04

前作はアニメっぽい方向付けがされたキャラクターデザインだったのですけど、やっぱり受け入れられなかったのか、アニメっぽい表現はやめてしまったようです。

screenshot_01 screenshot_03 前作のスクリーンショット。

私が購入したのはMac版なので英語のみかと思っていたのですが、ボイス部分だけは多言語対応しているようで、アユミ(主人公)のセリフがちゃんと釘宮理恵さんの声になりました。(表示は英語のままです)

絵は綺麗になったのですけど、なんとなく敵攻撃時のヒット感が乏しいような…自分の環境だとフレームレートが安定していないからかもしれませんけど。

今日の RapidMiner

今日もすこしばかり RapidMiner を使用してみました。

前の記事ではデータが何も無いと言う事で Google Trends を使ってデータを生成していたのですけど、 Utility -> Data Generation に色々なデータをランダムに生成してくれる機能がありました。(しかも、チュートリアル用のサンプルデータも幾つか付属してます。)

というわけで…前回よりもまともなものを組んでみました。

s1

やっている事は、

  • Generate Direct Mailing Data を使用してデータを生成。
  • Naive Bayes, Naive Bayes (kernel), Decision Tree のモデル精度を比較。
  • Decision Tree を使用して学習モデルを生成後、別のデータを与えて正答率をチェック。

といったことをしています。

s2s3

自分が組み立てたプログラムでは、100件のサンプルを使ってモデルを生成し、別の100件の予測をしています。

(正解率は 85 〜 90% ぐらいでした。)

使い方がわかってくると面白いかも。

RapidMiner を使ってみました

RapidMiner というのは、データマイニングを行うソフトウェアで、無料版を rapid-i のウェブサイトからダウンロードする事が出来ます。

java で書かれているアプリケーションなので、 MacOSX 上でも動作させる事が出来るのが個人的にも嬉しいところ。また、無料のソフトウェアのわりには便利な GUI が存在しています。(MacOSX 上だと、微妙に動作がおかしいところがあるみたい)

ちなみにこんな画面です。

rm4 rm3

適当な CSV が無かったので、Google Trends から「魔法少女リリカルなのは」「田村ゆかり」「水樹奈々」「植田佳奈」で検索した結果を使用しています。

上図でやっているのは、CSVを読み込んで、Naive Bayes、Decision Tree の結果を確認しているところです。(ネタをリリカルなのはにしてみたかっただけで、実際に何かを調べているわけではないです…)

検索しても日本語のページがほとんど出てこないけど、これを使いたい様な人は R や SPSS といったものを利用しているから、あんまり需要はないのかも。

おまけで使用した CSV ファイルを貼付けておきます。

[wpdm_file id=8]

Safari でページが見られないときに実行するコマンド

MacOSX の Safari でウェブサイトを観ていると、たまに特定のサイトだけが アクセスできなくなる時があります。

これは MacOSX が DNS の問い合わせをキャッシュしている為で、何らかの理由で取得に失敗すると再取得を行うまでサイトへのアクセスが出来なくなってしまいます。

というわけで再取得に失敗した場合、以下のようなコマンドでキャッシュを破棄する事で再取得をさせる事が出来ます。

/usr/bin/dscacheutil -flushcache

ちなみに、 Windows でも同様に DNS の問い合わせはキャッシュされていたりします。

Windows では以下のようなコマンドでキャッシュを破棄する事が出来ます。

ipconfig /flushdns

そんな個人的なメモでした。

iMac の HDD 障害

以前投稿した iMac の HDD 障害 なのですけど、どうやら経年劣化以外の条件で故障する事があるみたいです。

修理をしている間は、家の作業用 PC がなくなってしまうので、なのはDAYS’ の作業が出来なくなっちゃいそう。

修理中は MacBookPro での作業になるだろうけど、やっぱり絵を描くにはちょっと向かない(実際に作業したことがないけど…)かも。

カテゴリー Mac

iMacの環境修復

自分のiMac環境が不安定なので、幾つかソフトウェアを導入してみました。

iMacFanControl

http://www.derman.com/

少し前ぐらいからHDDのファンが急に高速回転しだすようになりました。原因はHDDのセンサーに不具合が生じているからだと思うのですが、修理に出してしまうと自宅のPC環境がなくなってしまうため、ひとまずファンのコントロールをソフトウェア制御させてみることにしました。

これで問題が解決したと思いきや、

 HDDの温度が 1℃って…

やっぱり駄目かも。

OnyX

http://www.titanium.free.fr/

「このアプリケーションで開く」に同じアプリケーションが導入されてしまっているのを修復する為に導入しました。このソフトウェアを導入しなくても、ターミナルからコマンドを打ち込むことでも改善出来るようですけど。

新しい iMac を早く出して欲しいところ…

 

カテゴリー Mac