2017/4/11
退社
今日あった事(仕事関係なし)
- 今まで書いたことがなかったmakeファイルをちょこっとだけ書いた
- 以前見たボクセルコーントレースとは別の実装を眺めた
- GitHub - Cigg/Voxel-Cone-Tracing: Real-time global illumination
- こちらも標準のmipmap生成関数を使っていた
- ボクセル化の際にalphaに1を入れておくことで、ミップマップ生成時に遮蔽率(そのボクセルにピクセルが存在する確率?)が求まるようになっている..?
- GitHub - Cigg/Voxel-Cone-Tracing: Real-time global illumination
windowsでemscriptenを動かす
インストール
こちらのURLからインストーラをDL、最初 Emscripten SDK Web Installer
で試してみたがうまくインストール出来なかったので、Emscripten SDK Offline Installer
を利用
これでインストールすると、clangやpythonなど必要なものは一式揃えてくれるらしい
執筆時点でこのページからDL出来る最新バージョンは1.35.0だった
Download and install — Emscripten 1.38.6 documentation
DLが完了したらインストーラの指示に従ってインストールを待つ
バージョンアップデート
DLした時点では1.35.0だが、最新バージョンは1.37.9(2017/04/10時点)なのでアップデートをする
デフォルトでは /c/Program Files/Emscripten
にインストールされているはずなので移動しておく
cd '/c/Program Files/Emscripten'
現在のバージョンを確認する
以下のコマンドで現在インストールされている物の一覧がでるので、この時点で最新のものがインストールされている場合はアップデート不要
$ ./emsdk list
出力例(一部(既に1.37.9にアップデート済み))
(*)は現在アクティブなパッケージ
The following precompiled tool packages are available for download: clang-nightly-e1.37.9-2017_04_03_22_10-64bit clang-nightly-e1.37.9-2017_04_03_23_59-64bit clang-e1.30.0-64bit clang-e1.34.1-64bit clang-e1.35.0-64bit INSTALLED clang-e1.37.1-64bit clang-e1.37.8-64bit (*) clang-e1.37.9-64bit INSTALLED node-4.1.1-32bit (*) node-4.1.1-64bit INSTALLED python-2.7.5.3-32bit (*) python-2.7.5.3-64bit INSTALLED java-7.45-32bit (*) java-7.45-64bit INSTALLED
emsdk経由で最新のパッケージをDL
以下のコマンドで最新のパッケージをDLする
$ ./emsdk update
出力例
Downloading: c:/Program Files/Emscripten/zips/emsdk_windows_update.zip from https://s3.amazonaws.com/mozilla-games/emscripten/packages/emsdk_windows_update.zip Unpacking 'c:/Program Files/Emscripten/zips/emsdk_windows_update.zip' to 'c:/Program Files/Emscripten' Fetching all tags from Emscripten Github repository... Done. 96 tagged releases available, latest is 1.37.9.
インストール
以下のコマンドで最新のパッケージをインストール
$ ./emsdk install latest
最新バージョンをactivate
環境変数にもろもろ登録するのを一発でやってくれる
実行中のシェルに登録するパターンとOSの環境変数に設定するパターンがあるらしいが、今回はOSの環境変数に設定する(JAVA_HOME等も設定されるため実行する際は注意して)
不安な場合は自分で環境変数に設定しよう
以下のコマンドで必要な環境変数を設定してくれる
$ ./emsdk activate latest --global
しかし実行したところ以下のエラー
Failed to read environment variable PATH: No module named win32api Traceback (most recent call last): File "./emsdk", line 2149, in <module> sys.exit(main()) File "./emsdk", line 2092, in main tools_to_activate = set_active_tools(tools_to_activate, permanently_activate=permanently_activate) File "./emsdk", line 1675, in set_active_tools env_string = construct_env(tools_to_activate, False) File "./emsdk", line 1755, in construct_env newpath, added_path = adjusted_path(tools_to_activate) File "./emsdk", line 1725, in adjusted_path existing_path = win_get_environment_variable('PATH', system=True) File "./emsdk", line 183, in win_get_environment_variable win32api.RegCloseKey(folder) UnboundLocalError: local variable 'win32api' referenced before assignment
pywin32というモジュールが入っていないので、環境変数を書き換えれない様子。
↓からDLしてpython2.7の物をインストール
https://sourceforge.net/projects/pywin32/
こちらも、インストーラの指示に従えばOK
インストール完了後に再度↓を実行すればうまくいくはず、実行した時点で確認もなく書き換わるので注意
$ ./emsdk activate latest --global
ここまでできたら一度PCを再起動しておく
動作確認
ためしに適当なC++ソースを動かしてみる
↓を main.cpp
なんかに保存しておく
#include <iostream> #include <string> using namespace std; int main() { string str = "はじめまして"; cout << str << endl; return 0; }
以下のコマンドでコンパイル
一度目はlibcのキャッシュが無いのでコンパイルに時間がかかる
$ emcc -o main.html main.cpp
コンパイルが通れば同じディレクトリに main.html
が作られているので開いてみる
動いた
2017/04/07
忘れていました
今日は何もなかった
2017/04/06
また忘れてました
voxel cone tracingをやってみたいなと思う一日だった
見てたもの
http://fumufumu.q-games.com/archives/2014_09.php#000934
コーントレース前準備のミップマップフィルタは標準のもの(ボックスフィルタ?)でいいのか?
https://github.com/Friduric/voxel-cone-tracing/blob/master/Source/Graphic/Graphics.cpp#L178
2017/04/04
退社
お昼御飯がおいしかった