2013年7月23日火曜日

Visual Studio 2010以降のVC++ディレクトリ設定

Windowsユーザ単位の設定。
たくさんの人がブログ上にメモしているわけですが、自分用に。

環境変数を使うという手がなくもないけれど。
C:\Users\(ユーザ名)\Local Settings\Application Data\Microsoft\MSBuild\v4.0
または、
C:\Users\(ユーザ名)\AppData\Local\Microsoft\MSBuild\v4.0
の、
Microsoft.Cpp.(ターゲットプラットフォーム).user.props
を編集する。

PropertyGroupタグ以下に
ExecutablePath, IncludePath, LibraryPathを追加する。


2013年7月5日金曜日

DirectX 11でVoxel Cone Tracing

Sparse Voxel OctreeによるCone Tracing。
Ambient Occulusionのみ。
ボクセル分割の解像度は64x64x64で、ワールド上での体積はモデルの8倍程度。
アトミックなテクスチャ書き込むがめんどうだったため、
遮蔽度の計算は空間のボクセル密度から計算。
Octreeの最下層の空間が密度1、一階層上がるごとに8分の1。
ポリポリしているのはそのためだと信じたい。

Radeon HD 5770だと、速度的にもメモリ的にもきつい。

2012年5月19日土曜日

movapsが混ざる

https://connect.microsoft.com/VisualStudio/feedback/details/482164/mm-loadu-ps-optimized-away-in-x64

これかなあと思うのですが、_mm_min_psと_mm_max_psを使用しないようにしたら動作しました。
vs2010に移行すべきなのかもしれません。

2012年3月24日土曜日

LightWaveのコマンドライン

lightwav.exeでレイアウトが起動できるが、
オプションにどんなものがあるのかわからない。
リファレンスに書いてあるの?

lightwav.exe [options] [filepath]
options:
 -0: Hub起動しない

2011年10月27日木曜日

PowerVR Insider SDK 2.9

Windows 7 64bit, Radeon HD5770
の環境で動作した。
Adreno SDK 2.2はまだ動作しない。
WindowsXPを捨てる時がきたか。

2011年7月28日木曜日

OpenGL ES2.0 シェーダの行列計算

Adreno 200・Tegra 250と、PowerVR SGX540で
行列計算の結果が異なる。
確認したのは4次元の場合。
mat4 m;
vec4 p;
p = p*m;

詳しく調査していないけれど、PowerVRで表示の奥行きが崩れているので、
列か行どちらか4番目の扱い方が違うっぽい。

列ベクトルで、変換は左から行列を掛けるように行列を作っていると、
mat4 m;
vec4 p;
p = p*m;
でよいはず。実際、Adreno 200・Tegra 250では問題ない。
(column majorだから逆から掛けている)
これだとPowerVRで崩れるので、シェーダに渡す前に行列を転置、
p = m*p;
とすると3つのGPUで上手くいく。なんだこれは。

ES2.0で、glUniformMatrix のtranspose引数はG_FALSEじゃないといけないの、
すぐに忘れるな。

2011年7月27日水曜日

PerfHUD ES

NVidia社のPerfHUD ESは、
Tegra2ベースの”開発機”で動作する。
私も最初わからなかったが、ドキュメントや各種プレゼンテーションでも、
profiling and debugging tool for Tegra-based development kits
とある。

フォーラム
http://developer.nvidia.com/tegra/forum/connecting-perfhud-es-motorola-xoom

そして、こんなものが
http://www.enovapp.com/tips/how-to-enable-perfhud-es-on-all-android-tegra-devices/

rootとる必要があるのか、嫌だな。