@d_akiさんに教えてもらった「virtualenvwrapper v3.2 documentation」のTips とトリック
を参考にしました。感謝!
「$WORKON_HOME/postactivate」の中に
※$WORKON_HOMEは現在workonしているホームなのでworkon後に行って下さい!
↓こいつを編集して
vi $WORKON_HOME/postactivate
↓僕はこう書いた。
#!/bin/bash # This hook is run after every virtualenv is activated. proj_name=$(echo $VIRTUAL_ENV|awk -F'/' '{print $NF}') cd ~/.virtualenvs/$proj_name
※「.virtualenvs」って書いたとこはBP本に合わせてるので、各自自分の設定に変えてね。
海外ゲーム技術勉強会
URL:http://atnd.org/events/26621@dada246:Doom3コード解説(イベントシステムとカスタムRTTI) 60分
・John Carmack先生
一人で書くスタイル
ほぼ一人で
6年くらいの開発期間
・DOOM3のgithub
https://github.com/TTimo/doom3.gpl
影はステンシルシャドウ
いくつかのカットシーン
スクリプトドリブンのレベルデザイン
コンソールウィンドウによるパラメータ調整
→idの伝統
ATLを外す必要がある。
Active Template Library
Visual Studio Expressに入ってない
普通はライブラリを使ってないのにめずらしい
テクスチャなどのリソースが入っていない。
→Doom3を買う必要がある。
Visual Studioで開く
neo/doom.sln
C++で書いてある
stl、boostは不使用
例外、標準RTTIは不使用
シンプルなテンプレート
→2004年のコンパイラ事情や、John Carmackが書いたコードということで、
移植性と処理速度を重視していると思われる
・コーディングスタイル
C++の基本を抑えた書き方
constのっってい
最低限のvirtual
プリコンパイル済のみヘッダ
ネームスペース使ってない
◯全体構成
・Game
→
機種共通コード。
別VerとしてGame-d3xpがある。
・DoomDll
→機種依存コード。
exeが出力されるのはコレ
・idLib
ゲームライブラリに依存しない処理を集めたライブラリ
エンディアンスワップ
コンテナ(2分探索、btree、ハッシュテーブル、リスト、リンクリスト、キュー、スタック、文字列リスト、Vector Set…)
→STLの代わり
数学
・ベクトル、行列、角度、クォータニオン
複素数
乱数(線形合同法)
Lcp(Box Constrained Miex Linear Complementarity Problem solver)
Polynormal(Polynormial of arbitrary degree with 〜〜)
・ジオメトリ
DrawVert 頂点ドロー
JoinedTransform
Surface
Surface_Patch(Bezier patch surface)
〜〜〜
・ODE
masafumi:次の世代のインタラクティブレンダリング5つの挑戦と10の滅ぶべき技術 30分
Frostbite+2.0
ILLUMINATION
Global Illumination
シーンの破壊・動きなど飛ばされたりする
Enlighten
シャドウマップ
Reflections
Compute
DXT5 Normal Maps
→BC5を使え
No GI
→GIを使わないこと
物理ベースのレンズフレア
→映画とか?
@minahito:オープンソースの描画エンジン Ogre 3D の解説 20分
OGRE3D
速度遅い
ゲームエンジンではない
リアルタイムレンダリングエンジンとしても。。
ExampleApplication
→テンプレートメソッド
MovableObject
UnityではTransformコンポーネント
すべてMovableObjectを継承する。
Obsarverパターンのリスナを。
http://www.ogre3d.org/
パーティクルエフェクトすら無い
オブジェクトの差し替えで
Deferred + Forward
遅延レンダリングは組めない
posteffectはかわらない
@exafield:BrowserQuestで遊んでみた。(仮)15分
セーブデータはlocalstrageで保存する
githubにソースが
Firefoxは3DdeHTMLの構造を可視化出来る