2010年12月31日金曜日

フリーソフト100

http://freesoft-100.com/
いい選び方

フリーでPDF作成、 圧縮解凍(ICE) Macのファイルも文字化けしない

ノーマルマップ作成ツール

http://philipk.net/tutorials/ndo/ndo.html
nVidiaのものより多機能

リアルタイムGI

http://www.mpi-inf.mpg.de/resources/ImperfectShadowMaps/



学生による上記の改良版
http://martinknecht.blogspot.com/2009/07/real-time-global-illumination-using.html


Cryteck

Gameをつくろー

http://marupeke296.com/GameMain.html


いろいろためになります

DirectX11 テッセレーションチュートリアル

http://blog.gameenginejp.com/2010/11/directx-11.html

つぎの3Dエンジン

http://www.4gamer.net/games/092/G009273/20090903001/


次世代の描画方式として,Jones氏が挙げていたのは,

  Point Base Rendering(ポイントベースレンダリング)
  Ray Tracing(レイトレーシング)
  Rasterization(ラスタライゼーション)
  Sparse Voxel Octree(スパースボクセルオクトリー:SVO)

氏が強調していたのはプロシージャル処理の可能性と重要性だ。プロシージャル処理は,描画するオブジェクト自体を,実行時に自動的に作り出す技術で,Crysis Warheadでの霜の処理での実装例などを挙げつつ,いろいろなものをプロシージャルで作り出すことを「夢」として語っていた。

プロシージャル地形

ボリューメトリック リアルタイム 3Dエンジン

http://www.atomontage.com/?id=home

黄表紙集

http://www.google.co.jp/images?q=%E9%BB%84%E8%A1%A8%E7%B4%99%E9%9B%86&um=1&ie=UTF-8&source=og&sa=N&hl=ja&tab=wi&biw=1366&bih=639

井上ひさしさんの原点

4kメガデモ

"Cdak" by Quite & Orange (party version) from Mitch Bucanon on Vimeo.

Integrating Realistic Soft Shadows into Your Game Engine

http://developer.download.nvidia.com/whitepapers/2008/PCSS_Integration.pdf

WDDM によるタイムアウトの検出と GPU の回復

http://www.microsoft.com/japan/whdc/device/display/wddm_timeout.mspx

レジストリ キー

下記のレジストリ キーは、テスト目的のみのために記載されています。テストまたはデバッグ目的以外では、いかなるアプリケーションによっても、これらのレジストリ キーが操作されることがないようにしてください。

TDR 関連のレジストリ キーは、HKLM\System\CurrentControlSet\Control\GraphicsDrivers にあります。

TdrLevel: REG_DWORD。回復の初期レベル。指定可能な値は、下記のとおりです。

TdrLevelOff (0)– 検出無効。

TdrLevelBugcheck (1) – 検出されたタイムアウトのバグ チェック (回復なしなど)。

TdrLevelRecoverVGA (2) – VGA への回復 (実装なし)。

TdrLevelRecover(3) – タイムアウト時の回復。これは既定値です。

TdrDelay: REG_DWORD。GPU がスケジューラからの回避要求を遅延できる秒数。これは、事実上のタイムアウトのしきい値です。既定値は 2 です。

TdrDdiDelay: REG_DWORD。オペレーティング システムで、スレッドがドライバーの処理を中断することが許可される秒数。指定時間以降、オペレーティング システムは、コード VIDEO_TDR_FAILURE (0x116) を含むシステムのバグ チェックを行います。既定値は 5 です。

TdrTestMode: REG_DWORD: 内部テスト用。

TdrDebugMode: REG_DWORD: TDR プロセスのデバッグ関連動作。

TDR_DEBUG_MODE_OFF (0) は、タイムアウトの調査を許可するよう、回復の前にカーネル デバッガーに割り込みます。

TDR_DEBUG_MODE_IGNORE_TIMEOUT (1) は、すべてのタイムアウトを無視します。

TDR_DEBUG_MODE_RECOVER_NO_PROMPT (2) は、デバッガーへの割り込みはせずに回復処理を実行します。これは既定値です。

TDR_DEBUG_MODE_RECOVER_UNCONDITIONAL (3) は、一部の回復条件が満たされていない場合 (連続してタイムアウトが発生した場合の回復など) も、回復処理を実行します。

TdrLimitTime: REG_DWORD (Windows Vista SP1 以降のバージョンのみ): TDR の "TdrLimitCount" 値による既定回数以内は、システムがクラッシュすることなく許可されます。

TdrLimitCount: REG_DWORD (Windows Vista SP1 以降のバージョンのみ): システムがクラッシュすることなく "TdrLimitTime" で許可される TDR (0x117) の既定値。

2010年12月29日水曜日

Gatherがサンプリングする位置

http://www4.atword.jp/cathy39/2010/05/19/gather_jp/
- Gatherに指定するuv → 中心
- Gatherでサンプリングする位置 → 中心±0.5テクセルの位置

Gatherに指定するuvをPとすると、
RGBA各チャンネルのサンプリングポイントは以下の図のようになる

DX11 Order Independent Transparency

まとめ
http://www.yakiimo3d.com/ja/2010/07/19/dx11-order-independent-transparency-2/
DirectX SDK OITサンプルが320×240の画面サイズで10 fpsぐらいでしたが、今回のATI OITの実装は640×480の画面サイズで700 fpsぐらいでました。普通のID3D11BlendStateを利用したalpha blendingだと画面サイズ640×480で3000 fpsぐらいでます。

アンチエイリアス版
PixelShaderにSampleIndexをとっている
struct QuadPS_Input
{
float4 pos : SV_POSITION;
uint nSampleIndex : SV_SAMPLEINDEX; // specify to run pixel shader per sample instead of per pixel
};
結果SuperSampling

2010年12月21日火曜日

STL イテレート中の削除

http://marupeke296.com/TIPS_No12_ListElementErase.html

list::iterator it;
for ( it=MyList.begin(); it!=MyList.end(); ) { // <-「it++」を削除
if( (*it) == 0 ) {
it = MyList.erase( it );
continue;
}
it++; // ここで次のイテレートに
}

2010年12月19日日曜日

リアルタイムでリアルな水の表現

http://artis.imag.fr/Publications/2006/BD06a/

テクスチャのタイリングをわかりにくくする

http://www.t-pot.com/program/120_Wang/index.html

Windowsで時間の計測

http://d.hatena.ne.jp/prog_pc/20090526/1243331369
GetTickCount

システム起動時からの経過時間をミリ秒で返します。

DWORD WINAPI GetTickCount(void); 
GetTickCount64

GetTickCount関数と同様ですが、64bit符号なし整数を返します。Windows VistaかServer 2008が必要とのことです。

ULONGLONG WINAPI GetTickCount64(void); 
QueryPerformanceFrequency

http://msdn.microsoft.com/en-us/library/ms644904%28VS.85%29.aspxより

BOOL QueryPerformanceFrequency(           LARGE_INTEGER *lpFrequency );

2010年12月17日金曜日

床面投射コンテンツ

http://www.ofnt.co.jp/gesturetek/
GroundFX® 設置例図
超短焦点をつかったものなど、バリエーションが豊富

2010年12月15日水曜日

名言


青春時代にさまざまな愚かさを持たなかった人間は、
中年になってからなんの力も持たないだろう。


J・A・コリンズ

ミニチュア屋さん

Кенсингтонский фестиваль кукольных домиков (16 фото)