よくGeForce256などで聞くハードウェアT&Lとは,どういった機能なのでしょうか? また,GeForce256以外には搭載されていないのですか。
ハードウェアT&Lの「T&L」とは,Transform(座標変換)とLighting(光源計算)を意味しています。通常3Dビデオカードの3D表示は,Transform→Lighting→Setup→Renderingというステップを経て描画されます。Transformでは,3Dオブジェクトをある方向(視点)から見たときにどのように見えるかを計算し,Lightingでは,その3Dオブジェクトに光を当てて,明るさや影のでき方を計算します。このTransformというステップは,「ジオメトリ演算」と呼ばれます。ジオメトリ演算の大部分を占めるのが,浮動小数点演算です。
従来のコンシューマ向け3Dビデオチップは,後半の2ステップ(SetupとRendering)のみを担当し,ジオメトリ演算処理はPCのCPUが担当するのが普通でした。したがって,3Dビデオチップの描画性能が高くても,CPUの演算能力が低いとビデオチップの性能を十分発揮できないことになります。ちなみに,AMDの3DNow!テクノロジーやインテルのインターネットストリーミングSIMD拡張命令では,複数の浮動小数点演算を一度に行うことができるので,ジオメトリ演算の高速化に威力を発揮します。
GeForce256に代表されるハードウェアT&Lエンジン内蔵ビデオチップでは,3D表示処理すべてをビデオチップが担当するので,CPUの演算能力に影響されずに高い3D表示性能を実現できます。ただし,ハードウェアT&Lエンジンが搭載されていても,アプリケーション側でそれを利用するようになっていないと意味がありません。例えば,Direct3Dの場合は,最新のDirectX 7.0以降のバージョンで,ハードウェアT&Lエンジンをサポートしています。DirectX 7.0対応アプリケーションなら,この恩恵をこうむることができます。
また,ハードウェアT&Lエンジンも必ずしも万能とはいえません。ビデオチップの性能向上のペースにも驚かされますが,CPUの演算性能向上のペースも決して負けてはいません。CPU性能が高くなれば,ジオメトリ演算をハードウェアT&Lエンジンで行わずに,CPUに担当させたほうが高速になる可能性もあります。
GeForce256のほかには,S3の最新ビデオチップSavage 2000もハードウェアT&Lエンジンを内蔵しているのですが,現在公開されているドライバでは,利用できません。ただし,米国のダイアモンド・マルチメディア・システムズのホームページ(http://www.diamondmm.com/)で公開されている最新βドライバ(Version: 4.12.01.9002-9.01.21)では,密かにハードウェアT&Lエンジンのサポートが追加されたようです。とはいえ,そのサポートは暫定的なもので,対応3DAPIはOpenGLに限られ,デフォルトでは有効になっていません。このドライバを使い同社のViperU(Savage2000搭載)で,ハードウェアT&Lエンジンを利用するには,レジストリエディタを使って,HKEY_CURRENT_CONFIG\Display\Settingsに,ICDHWTLという名称のキー(文字列)を作成し,ONの設定する必要があります。現在のサポートは暫定的なものですが,近日中に,正式サポートしたドライバが登場する予定になっています。
また,今後登場するビデオカードでも,ハードウェアT&Lがサポートされる可能性が高く,MatroxのMillennium G450などではビデオチップとは別に外付けされる形で,また3dfxのVoodoo5の後継となるコードネーム「Rampage」にはオンチップで搭載されると予想されています。
(石井英男)
ドライバの対応により期待が高まる「Diamond ViperU Z200」(価格:オープンプライス,実勢価格:1万9980円 問い合わせ:ダイアモンド・マルチメディア・システムズ,TEL:03-5695-8401)