Admin Area

HL2のHDRレンダリング

Original Post by Valer , thx!

Beyond 3Dに"Half Life 2 Rendering Clarifications"という記事が:
http://www.beyond3d.com/forum/viewtopic.php?topic=8389&forum=9
DaveBaumannという方が、Valve社員にHDRレンダリングを中心に問い合わせた内容です。

注: ピクセルシェーダについて(本文中では"PS"と略記した部分あり)
Pixel Shader 1.4 (DirectX8.1のシェーダ。精度: 16bit整数)
Pixel Shader 2.0 (DirectX9 のシェーダ。 精度: 32bit浮動小数点)

DaveBaumann:
HDRレンダリングでは、浮動小数点バッファを利用しているのですか?
(NVハードが浮動小数点をサポートしていないとしたら、この機能は使えない?)

Brian Jacobson:
うん。だけど整数バッファでも機能するバージョンをNVIDIAといっしょに作成中だ。

Gary McTaggart:
実際には、ATIのハードでも16bit整数のバッファを使っているんだ。浮動小数点バッファは使っていない。
16bit未満の精度にはなるけど、整数バッファをサポートするようNVIDIAには動いてもらっている。

DaveBaumann:
HDRで使っている値の範囲は? (たとえばPixel Shader 1.4で扱えるように [-8,8] の範囲を使っているとか)

Gary McTaggart:
現在のところ、光量は[0,16]の範囲で扱っている。HDRの処理は、DX9シェーダーが全てのレンダリングを1回のパスで完了させるということに大きく依存している。それがPixel Shader 1.4を組込むことを難しくしているんだ。

DaveBaumann:
Shader Dayのプレゼンテーションでは、FX向けのMixed Modeでの対処のひとつは「Pixel Shaderの命令数を減らすためテクスチャのフェッチを利用」と述べられていました。これは、ベクターの正規化処理にPixel Shaderではなくキューブマップを使うということでしょうか?
また、他にもこういったことが行われている部分はありますか?

Gary McTaggart:
そういった対応は、ほとんどベクターの正規化向けだよ。

DaveBaumann:
ベンチマークのShaderは最新バージョンのHLSLでコンパイルされたものですか?
(つまり、FXのレジスター制限下でより効率的に動くコードをアセンブルするバージョンですか?)

Brian Jacobson:
Mixed Modeのパスで使ったものはそうだね。

DaveBaumann:
デフォルトのDX9 HLSLパスでは、HDRレンダリングが使われるのでしょうか?

Brian Jacobson:
Yes.

DaveBaumann:
Mixed Modeでは、デフォルトのDX9パスではPS2.0が使われている部分にPS1.4が使われているのでしょうか?

Brian Jacobson:
5900対応としては: No
5600、5200対応としては: Yes

DaveBaumann:
Mixed Modeでは、すべての命令に精度のヒントを付けているのでしょうか?
命令の多くはフル精度のままですか?

Brian Jacobson:
部分精度の方が多い。だいたい10%-20%がフル精度だ。

[Comment]
この情報から、ATIのDirectX9製品(Radeon9500以上)ではフル精度が使われ、HLSLモードによるHDR
レンダリングがデフォルトになるように思われます。
また、NVIDIAハードでも全ての効果を実現できるように現在も共同作業中のようです。
HDRについても解決策を模索しているようで、実現はNVIDIAがアウトプットバッファをサポートできるかどうかに掛かっているようです。

Comments

まだコメントはありません。

Add Comments


:


:


:



TrackBack

Trackback URL :

まだトラックバックはありません

The Final Hours of Half-Life 2 Japanese

ARTICLE INFO

Date : 2003-10-13
Author : fov120
News Category : HALF-LIFE 2 , 日本語参考訳 , インタビューやレビュー等
707390 (7D:3137 Y:482 T:103) [Mode] Since 2006-06-01
Copyright © 2003-2008 fov120.net Some Rights Reserved.
Powered by Nucleus