次世代の「Core Ultraプロセッサ」に採用! リアルタイムレイトレに対応したIntel内蔵GPUの“秘密”に迫るIntel Innovation 2023(6/6 ページ)

» 2023年11月09日 12時00分 公開
[西川善司ITmedia]
前のページへ 1|2|3|4|5|6       

その他、Xe-LPGのホットトピック

 アストル氏は、Xe-LPG/Xe-HPGアーキテクチャのGPUが対応する、先進グラフィックス機能についても言及した……のだが、実はNVIDIAやAMDのGPUにも搭載されている機能(群)だ。恐らくだが、Intelとしては「自社のGPUも、GeForceやRadeonにも見劣りしない機能を持っていますよ!」とアピールすることを兼ねて、時間を割いて説明したものと思われる。

その1:VALARへの対応

 1つ目が「VALAR(Velocity and Luminance Adaptive Rasterization)」への対応だ。

 VALARは「VRS(Variable Rate Shading:可変レートシェーディング)」の実装形態の1つである。VRSはある程度のピクセルで一括してライティング(照明計算)やシェーディング(陰影計算)を行う最適化技法だ。1ピクセル単位で“愚直に”にライティングやシェーディングを行う場合と比べて、演算負荷を軽減できるメリットがある。

VALAR InteのGPUでもVALARが利用できる

 VRSの応用方法としてもっとも分かりやすいのが、VR(仮想現実)ゲームに採用されることの多い「Foveated Rendering」と組み合わせる事例だ。

 Foveated Renderingは、ユーザーが注視している箇所とその周辺は1ピクセル単位でライティング/シェーディングを行う一方で、そこから離れた場所のライティング/シェーディングは複数のピクセルをまとめて行うという最適化テクニックで、日本語では「中心窩(ちゅうしんか)レンダリング」とも呼ばれている。

 VRゲームに限らず、材質表現がヘビーな「超リアル系ゲームグラフィックス」でもVRSは有効だとされる。例えば、法線や深度がほとんど変わらないピクセル群に対するライティング/シェーディングの結果は通常、1ピクセル単位で行っても似通った値になりやすい。ゆえに、複数ピクセルをまとめて処理することで、目立つことなく処理負荷を軽減できる。

 滑らかな曲面、あるいは真っ平らな平面で構成される非生物背景オブジェクト(例えば自動車や家具)でも、VRSは有効なことが多い。ライティングやシェーディングで“手抜き”をしても、ばか正直に行った場合と見た目は大きく変わらないことは多いのだ。

ULの3Dグラフィックスベンチマークアプリ「3DMark」には、VRSのパフォーマンスをチェックする「VRS Feature Test」が用意されている

 VALARはさらに高度なアプローチで“手抜き”を行う技術である。動きの速いオブジェクトや輝度の低いオブジェクトについて、ラスタライズを1ピクセル単位で行わない(複数ピクセル単位で行う)ことで、処理の負荷を軽くするという方針をとる。

 VALARの「R」が示す所の「ラスタライゼーション」は、ポリゴンをピクセルに分解する処理系を指す。例えば、4K(3840×2160ピクセル)解像度での出力を想定したゲームグラフィックスでVALARを活用して4ピクセル(2×2ピクセル)単位でラスタライズを行うと、処理負荷をフルHD(1920×1080ピクセル)解像度相当にまで軽減できる。

 具体的な実装については、Intel自身がガイドを公開している。英語となるが、興味のある人はチェックしてみてほしい。

IntelによるVALARの実装ガイドは動画化もされている。トピックごとにチャプターも振られているので、頭出しも容易だ

その2:GPU Driven Renderingへの対応

 2つ目が「GPU Driven Rendering」への対応だ。

 GPUというものは、基本的にCPUを使って“組み立てられた”描画コマンドやパラメーターに従って仕事をこなす。いうなれば、CPUが「描画のタネ」をまき、GPUが「タネ」を育て、「実」を収穫するという流れを取る。

 それに対して、GPU Driven Renderingはタネまきから実の収穫に至るまでの“全工程”をGPUがこなす、自己完結式の描画手法だ。GPUにあらかじめ送り込んでおいた3Dモデルなどを、GPU主導でパラメーターを変えつつ反復描画する「インスタンス描画」を行う際にも、GDRが良く使われる。

 数百万個ものパーティクル(粒子)の飛散シミュレーションと描画を、CPUがほぼ介入することなく行う「GPUパーティクル」も、GPU Driven Renderingを活用して実現しているケースが多い。

 NVIDIAやAMDなどが提供しているGPU関連ドキュメントでは、GPU Driven Renderingを「Draw Indirect」として説明していることが多い。Draw Indirectを複数回行う仕組みは「MDI(Multi Draw Indirect)」と呼ばれており、最新の「GeForce RTX 40シリーズ」や「Radeon RX 7000シリーズ」にはMDIを高速化する機能も実装されている。

NVIDIAが公開したGPUパーティクル描画のデモ映像

 華々しくデビューしたものの、あまり活用が進んでいない新ジオメトリパイプラインの「Mesh Shader(メッシュシェーダー)」を活用した描画では、1体の3Dモデルを複数のパーツ(ドメイン)に分割して、「Meshlet(メッシュレット)」単位で描画することになる。MDIは、Mesh Shaderを使った描画を高速化する用途への利用も期待されている。

 また、グラフィックス業界では、GPU Driven Renderingの仕組みを“標準化”しようとする流れも起こっている。高機能なXe-HPG/Xe-LPGアーキテクチャのGPUを有するIntelも、この仕組みに対応していく――そういうメッセージを伝えるべく、今回わざわざ触れたのだと思われる。

 次バージョンのDirectXが登場するタイミングで、GPU Driven RenderingやDraw Indirectについて、大きな標準化の動きがあるかもしれない。

近日発表 本セッションでIntelは「近々、Mesh ShaderとGPU Driven Renderingについての具体的な活用事例のドキュメントを出す」とも表明した
前のページへ 1|2|3|4|5|6       

Copyright © ITmedia, Inc. All Rights Reserved.

アクセストップ10

2024年05月09日 更新
最新トピックスPR

過去記事カレンダー