2010年12月31日金曜日
つぎの3Dエンジン
Point Base Rendering(ポイントベースレンダリング)
Ray Tracing(レイトレーシング)
Rasterization(ラスタライゼーション)
Sparse Voxel Octree(スパースボクセルオクトリー:SVO)
WDDM によるタイムアウトの検出と GPU の回復
レジストリ キー
下記のレジストリ キーは、テスト目的のみのために記載されています。テストまたはデバッグ目的以外では、いかなるアプリケーションによっても、これらのレジストリ キーが操作されることがないようにしてください。
TDR 関連のレジストリ キーは、HKLM\System\CurrentControlSet\Control\GraphicsDrivers にあります。
• | TdrLevel: REG_DWORD。回復の初期レベル。指定可能な値は、下記のとおりです。
| ||||||||
• | TdrDelay: REG_DWORD。GPU がスケジューラからの回避要求を遅延できる秒数。これは、事実上のタイムアウトのしきい値です。既定値は 2 です。 | ||||||||
• | TdrDdiDelay: REG_DWORD。オペレーティング システムで、スレッドがドライバーの処理を中断することが許可される秒数。指定時間以降、オペレーティング システムは、コード VIDEO_TDR_FAILURE (0x116) を含むシステムのバグ チェックを行います。既定値は 5 です。 | ||||||||
• | TdrTestMode: REG_DWORD: 内部テスト用。 | ||||||||
• | TdrDebugMode: REG_DWORD: TDR プロセスのデバッグ関連動作。
| ||||||||
• | TdrLimitTime: REG_DWORD (Windows Vista SP1 以降のバージョンのみ): TDR の "TdrLimitCount" 値による既定回数以内は、システムがクラッシュすることなく許可されます。 | ||||||||
• | TdrLimitCount: REG_DWORD (Windows Vista SP1 以降のバージョンのみ): システムがクラッシュすることなく "TdrLimitTime" で許可される TDR (0x117) の既定値。 |
2010年12月30日木曜日
2010年12月29日水曜日
Gatherがサンプリングする位置
- Gatherでサンプリングする位置 → 中心±0.5テクセルの位置
Gatherに指定するuvをPとすると、
RGBA各チャンネルのサンプリングポイントは以下の図のようになる
DX11 Order Independent Transparency
{
float4 pos : SV_POSITION;
uint nSampleIndex : SV_SAMPLEINDEX; // specify to run pixel shader per sample instead of per pixel
};
2010年12月21日火曜日
STL イテレート中の削除
for ( it=MyList.begin(); it!=MyList.end(); ) { // <-「it++」を削除
if( (*it) == 0 ) {
it = MyList.erase( it );
continue;
}
it++; // ここで次のイテレートに
}
2010年12月19日日曜日
Windowsで時間の計測
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 );