Jan 31, 2010

MSBuildのパスを探す

@echo off
for %%v in (4.0 3.5 2.0) do (
    for /f "tokens=2*" %%i in ('reg query "HKLM\SOFTWARE\Microsoft\MSBuild\ToolsVersions\%%v" /v MSBuildToolsPath ') do (
       echo Your MSBuild is installed in: %%jMSBuild.exe
    )
) 2>NUL
  • MSBuild.exeが配置されている場所がHKLM\SOFTWARE\Microsoft\MSBuild\ToolsVersions\2.0\MSBuildToolsPath というレジストリにあるのでそれを取得しようとしています。
  • コマンドラインからレジストリの情報を操作するために reg.exe を利用しています。
  • reg.exeの出力を加工するために for の文字列パース機能を利用しています。
  • for /f のパース動作制御キーワード :

    • delims : 未指定の場合は "delims= " (タブ1文字+半角スペース1文字)と同じ
    • tokens=2* : %%i に2列目 (ここではREG_SZ) を、 %%j に3列目以降の文字すべて(ここではレジストリの内容)をまとめて格納

  • 参考:

    • http://www.robvanderwoude.com/ntregistry.php
    • http://www.dostips.com/DtTipsStringManipulation.php#Snippets.SplitString
    • http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/for.mspx

Jan 24, 2010

How It Started

A Technique for Producing Ideas (アイデアのつくり方) のメモ。
日本語版の「この考察をはじめたいきさつ」。とある質問に答えられなかったのがきっかけだったそうで。
以下は単語のメモ:
  • dandy

    • 極上の、最高級の、飛び切り素晴らしい
  • rueful

    • 痛ましい、悲しそうな、後悔している
  • flattered

    • 《be ~》うれしく思う
    • flatter

      • vi.お世辞を言う, vt.ご機嫌を取る、こびを売る、取り入ろうとする、お世辞を言う
  • hearty

    • 心のこもった;元気な;豊富な、たっぷりの
  • fit

    • (感情・行動などの)一時的激発、ひきつけ、発作
    • fit of rage

      • 発作的激怒
  • on and off

    • 断続的に、間欠的に

Prefatory Note

A Technique for Producing Ideas (アイデアのつくり方) のメモ。
日本語版の「まえがき」です。この文書が書かれて今年で半世紀なんですね。
最後の地名、カタカナだと謎ですが、 "Rancho de la Cañada, Peña Blanca, New Mexico" と書きます。
以下は単語のメモ:
  • prefatory
    • 序文の、前口上の
  • allege
    • (~が事実だと)主張する
  • alleged to be ~
    • (聞くところ)~だ[する]といわれている
  • recollection
    • 記憶(力)、回想
  • call attention to
    • ~に注意を促す、~に注意するよう呼び掛ける

Jan 10, 2010

Foreword William Bernbach

A Technique for Producing Ideas (アイデアのつくり方) のメモ。
日本語訳はこの節から始まっています。ウィリアム・バーンバック氏はフォルクスワーゲン・ビートルの "Think Small." という広告を考案するなど、アメリカの広告業界で有名な方だそうです。
以下は単語のメモ:
  • convey
    • (意思・情報を)伝達する、伝える、告げる
  • practice

    • 実務、(医者・弁護士の)業務
  • craft

    • (特殊な)技術、手技
  • tribute

    • 賛辞
  • lucid

    • 明快な、正気の、透明な
  • be indebted to

    • ~の恩恵を受けている

Jan 6, 2010

Foreword Keith Reinhard

A Technique for Producing Ideas (アイデアのつくり方) を最後に読んでから間が開いたので読み直してます。

手元の原著には Keith Reinhard さんという広告業の偉い方が序文を寄せています。これは日本語版にはない節で、原著を新装したときに追加されたものではないかと。

以下は単語のメモ:
  • intimidate

    • 怖がらせる; 脅迫する、威圧する

  • lay down

    • 書き記す; 貯蔵する; 
    • …などなど、相当意味の広い句動詞です

  • illuminating

    • adj. 啓発する、啓もう的な、明らかにする

Dec 26, 2009

PhysicsEffects メモ


masafumi さん情報に感謝です。

入手とビルド
> svn co http://bullet.googlecode.com/svn/branches/PhysicsEffects .
Bullet本体も src/ 以下にダウンロードされます。PhysicsEffects は

  • PhysicsEffects/Physics
  • PhysicsEffects/Util

が本体。

ビルドスクリプトは cmake で生成。Visual Studio 2008 Express Edition を利用したいので:
> cmake -G "Visual Studio 9 2008"
> start PHYSICS_EFFECTS.sln
OpenGLのセットアップが済んでいるなら問題なくビルドは通るはず。

AppHelloWorld が利用方法を示す最低限のサンプルです。で、絵の出るデモはどこにあるんでしょう? AppBasicDemo は Bullet のデモですし。

PfxViewer

独自のシーンフォーマットを持っていて、そのビューアーがこれ。
Havok にもそんなアプリケーションがあったような。

includeパスが SCE_PS3_ROOT という環境変数を利用しているのであらかじめ定義しておきます。
内容は PhysicsEffects のルートでOK。このような感じで:
> set SCE_PS3_ROOT=d:/tmp/PhysicsEffects
> start Plugins/PfxViewer/PfxViewer.sln
ビルド時に app.rc の "afxres.h" が無い、と言われたら…

  * #include "afxres.h"
  ↓
  * // #include "afxres.h"
    #include <windows.h>
    #define IDC_STATIC -1

に書き換えることで切り抜けられます(Ref.: http://ameblo.jp/oregano-blog/day-20090720.html)。

シーンファイルのサンプルが PhysicsEffects/Plugins/Sample/*.txt に配置されています。
サンプルと同じ場所に置いてある *.mb は Maya のデータです。*.txtの元データなのでしょうが…エクスポーターは?

「File -> Open Pfx File」と進んで TestScene2.txt を読み込ませた結果がこちら:



「物」というアイコンのあたりに日本製の香りを感じます。

Dec 20, 2009

Qt 4.6 と qt4-qtruby の自前ビルド版 で遊んでいるところ。



  • OpenGLの描画後にQtの2D描画を重ねることができる(今回はQPainter::drawText)。
  • RubyからOpenGLを利用したい場合はこちら(ruby-opengl)を。
  • 数学関数はこちら(RMath)。
GLUTにできてQtにできないことは…あとはパッド入力くらいでしょうか。