ピクセル同期を利用した順不同半透明描画 (更新)

Similar documents
最新 Visual Studio と DirectX 9.0 Ex で戦う 3D プログラミング

for (int x = 0; x < X_MAX; x++) { /* これらの 3 つの行は外部ループの自己データと * 合計データの両方にカウントされます */ bar[x * 2] = x * ; bar[(x * 2) - 1] = (x - 1.0) *

Microsoft PowerPoint - 1_コンパイラ入門セミナー.ppt

インテル(R) Visual Fortran コンパイラ 10.0

表 1. インテル Core m7-6y75 プロセッサーにおけるサンプルの 2 つのシーンのカリング時間 ( ミリ秒 ) システム構成 : インテル Core m7-6y75 プロセッサー 1.20GHz TDP 4.5W 2 コア 4 スレッド 8GB DDR3 インテル HD グラフィックス

XNA Framework

Microsoft* Windows* 10 における新しい命令セットの利用

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ

目次 1. ドリームフォト用素材の作成 3 2. ドリームフォトの作成 まとめ 課題にチャレンジ 19 レッスン内容 ドリームフォト マイクロソフト社のワープロソフト Word 2010( これ以降 Word と記述します ) の図ツールに搭載されている [ 背景の削除 ]

コンピュータグラフィックス第8回

コンピュータグラフィックス

平成20年度成果報告書

CDM Studio

インテル® Parallel Studio XE 2013 Windows* 版インストール・ガイドおよびリリースノート

(Microsoft PowerPoint - \221S\211\346\226\312\225\\\216\246\225s\213\357\215\207\216\236\202\314\221\316\211\236\215\ _nipponlabo.pptx)

モバイル統合アプリケーション 障害切り分け手順書

REX-USB56 「FAX送信」編 第6.0版

目次 1. プロフィール画像工房の概要 3 2. プロフィール画像の作成 8 3. プロフィール画像の登録 まとめ 27 レッスン内容 プロフィール画像工房 インターネット上に提供されているさまざまなサービス ( これ以降 サービス と記述します ) を利用するときには 利用するユーザー

Microsoft Word - ViSaGeSetupガイド2005.doc

Steinberg 社 - VST3 対応シンセサイザービルド環境テンプレート (Windows 版 ) Quick 説明書 はじめにこの度は Steinberg 社 - VST3 対応シンセサイザービルド環境テンプレートをダウンロードして下さり 誠にありがとうございます 本説明書はビルド環境テンプ

Chart3D for WPF/Silverlight

Microsoft PowerPoint SIGAL.ppt

更新履歴 No 更新箇所版数日付 1 第一版作成 /12/28 2 一部画像差し替え 誤字修正 /02/09 2

どこでも写真管理 Plus (ios 版 ) 操作手順書 ( 黒板作成 連携ツール使用時 ) EX-TREND 武蔵の写真管理 黒板作成 連携ツール どこでも写真管理 Plus でデータを連携して 電子小黒板機能付き工事写真を撮影する手順を解説します 解説内容がオプションプログラムの説明である場合が

使用方法 メイン画面 プログラムを起動するとメイン画面が表示されます メイン画面には 加工前のファイル 加工後の保存方法 加工パラメータ EXIF 情報 ジャーナル設定 の5つのタブ画面があります 作業を始めるには 画面一番左の 加工前のファイル タブから順番に情報を入力していき 最後に 画像変換実

Using VectorCAST/C++ with Test Driven Development

Yaskawa Siemens CNC API HMI NCSI-SP02-15

MOS_Windows8

xSync Classroom_InstallGuid_PVCXC-P002-D

Informatica Cloud Connectors - Spring リリースノート - (Japanese)

マイクロソフト IT アカデミー E ラーニングセントラル簡単マニュアル ( 管理者用 ) 2014 年 11 月

Unite Tokyo DS.key

DocuPrint 4050 PostScript ユーザーズガイド

PALNETSC0184_操作編(1-基本)

- 目次 - 1. 概要 インストール手順 イメージ作成モジュールのインストール DSN( データソース ) の設定 FTP の設定 操作説明 設定モジュール 監視モジュール... 11

実習を行う上での心構えについて

インストールガイド 動作環境 ( 指導者端末 ) OS Microsoft Windows 10(Home / Pro,32bit/64bit 含む ) Creators update 以降.NET Framework インストールガイド CPU グラフィックスメモリ画面解像度 Inte

Windows 10 IoT Core MVA 2015 August Windows 10 IoT Core ハンズオントレーニング Building and running Github MS IoT Samples on Windows 10 IoT Core 5 章センサーデータをクラウドへ

Microsoft Visual Studio 2010 Professional Data Sheet

Microsoft Word - 01.【電子入札】パソコンの設定方法について 修正_

特定機能を使用するための追加要件 : インターネットアクセス 解像度によっては ビデオ再生に追加メモリと高度なグラフィックスハードウェアが必要です BitLocker にはトラステッドプラットフォームモジュール (TPM) 1.2 が必要です BitLocker To Go には USB フラッシュ

コンテンツセントリックネットワーク技術を用いた ストリームデータ配信システムの設計と実装

-Web会議のスタンダード-

Microsoft Word - Android_仮想デバイスマネージャーの使い方

インテル® Parallel Studio XE 2019 Composer Edition for Fortran Windows 日本語版 : インストール・ガイド

2008 年度下期未踏 IT 人材発掘 育成事業採択案件評価書 1. 担当 PM 田中二郎 PM ( 筑波大学大学院システム情報工学研究科教授 ) 2. 採択者氏名チーフクリエータ : 矢口裕明 ( 東京大学大学院情報理工学系研究科創造情報学専攻博士課程三年次学生 ) コクリエータ : なし 3.

NetworkVantage 9

Corporate Document

プログラム言語及び演習Ⅲ

機能紹介:コンテキスト分析エンジン

SMG Field Computex 2011 New Category Update

Visual Studio 2017 RC インストール & ファーストステップガイド 2016 年 11 月 16 日 (V1.0)

Oracle Database 10g Release 2を使用したデータベース・パフォーマンス

Microsoft Word - J_01_02.doc

Oracle SQL Developerの移行機能を使用したOracle Databaseへの移行

1 要件 1.1 システム Windows Pentium III プロセッサー 16MBのディスク空き容量 USB 2.0 オペレーティングシステム Windows 2000, SP4 Windows XP (HomeおよびProfessional), SP1, SP2およびSP3 Windows

BricRobo V1.5 インストールマニュアル

(Microsoft PowerPoint -

REX-C56EX FAX送信 第5.0版

Specifications LED ディスプレイビデオコントローラ VX4S

939061j

03_共有フォルダ

スライド 1

tc15_tutorial02

インテル® VTune™ Amplifier : Windows 環境向けスタートガイド

目次 1 はじめに 製品に含まれるコンポーネント 動作環境... 4 オペレーティング システム... 4 Microsoft Visual Studio* 製品 製品のダウンロード 製品版をインストールする場合 評価版を

EBooklet2 / EBooklet2Pro 概要 EBooklet2 は店頭で対面での商品説明 小規模な会議など対面でのプレゼンテーションをサポートするツールです EBooklet2, EBooklet2Pro EBooklet2Pro iphone ipod touch ipad 通常のプレ

SilverlightR について PRONEXUS WORKS は OS と Web ブラウザに従来どおりマイクロソフト社の Windows シリ ーズと InternetExplorer シリーズを採用すると共に 新たにマイクロソフト社のプラグインソフトである SilverlightR を利用い

大域照明計算手法開発のためのレンダリングフレームワーク Lightmetrica: 拡張 検証に特化した研究開発のためレンダラ 図 1: Lightmetrica を用いてレンダリングした画像例 シーンは拡散反射面 光沢面を含み 複数の面光 源を用いて ピンホールカメラを用いてレンダリングを行った

正誤表(FPT1501)

モデリングとは

1 つのツールを実行するだけで違いが出るのでしょうか? はい 多くの場合 複雑なバグを発見して アプリケーションの安定性を向上させることができます このガイドでは インテル Inspector XE 解析ツールを使用して コードの問題を排除する方法を説明します これにより コードの信頼性が向上し 開

目次 1. アニメーションの軌跡の概要と仕組み 3 2. パノラマ写真にアニメーションの軌跡を設定 まとめ 課題にチャレンジ 19 レッスン内容 アニメーションの軌跡の概要と仕組み アニメーションの軌跡とは スライドに配置したオブジェクト ( テキストや図形 画像など ) を

X-MON 3.1.0

目次 NETGEAR WiFi Analytics を使用した WiFi 環境の調査方法... 1 NETGEAR WiFi Analytics を使用した WiFi 環境の調査方法... 3 Windows... 4 事前準備... 4 NETGEAR Genie のインストール... 4 NET

Windows7 Windows Live ムービーメーカーで スライドショー作成しよう! PC 教室山下 0

鳥取県物品電子入札システムセキュリティ ポリシー設定マニュアル IC カードを利用しない応札者向け 第 1.7 版 平成 31 年 2 月鳥取県物品契約課 鳥取県物品電子入札システムセキュリティ ポリシー設定マニュアル Ver.01-07

インテル® Parallel Studio XE 2019 Composer Edition for Fortran Windows : インストール・ガイド

音声認識サーバのインストールと設定

リリースノート バージョン / /8/04 公開 wivia は 株式会社内 洋 の 本における登録商標です その他の製品名 システム名などは 一般に各社の登録商標または商標です 概要 wivia ファームウェア および Windows/Mac

Oracle Web CacheによるOracle WebCenter Spacesパフォーマンスの向上

クラスタ環境でのデータベースのアップグレード手順

GHS混合物分類判定システムインストールマニュアル

Word 押印メニューバー使用ガイド

DocuWorks Mobile 障害切り分け手順書

右ボタンのドラッグ 2 本の指をドラッグして 3 本の指が ( ズームロックで ) ドラッグ カメラのズーム マウスはスクロールピンチとストレッチを フォーカス ダブルクリックダブルタップ 3 選択制御 図 2 - 最大化選択制御コントロール説明ショートカット 選択ツールを復元するか 最小限に抑えら

Office365        メールの使い方マニュアル

スタンプラリー 操作資料

目次 JAVIS Appli の基本機能... 3 JAVIS Appli について... 3 音声確認機能 JAVIS Appli( 有償版 ) の機能... 4 音声で読みの確認をする... 4 辞書機能... 5 単語を登録する... 5 単語を削除する... 6 音声コードの作成... 7

SetupVerup_dl_M

IBM Cloud Social Visual Guidelines

Twinmoon

ivms-4200 インストールユーザー登録コントロールパネルデバイスの追加ライブビューリモート再生ストレージスケジュールソフト概要システム構成システム要件

スイッチ ファブリック

また おすすめはしませんが C: Program Files Adobe Adobe After Effects [version] Support Files Plug-ins に配置することによって After Effects からのみ使用できます macos の場合 /Library/Appl

Unite_Japan_2014_Technical_Session

<コンタクト>クイックマニュアル

コースの目標 このコースを修了すると 下記のことができるようになります : 1. RAID とそのさまざまな構成の基本的理解を深める 2. RAID で新しいストレージボリュームをセットアップする 前提条件 受講前提条件 : なし 次の項目についての知識を持つ受講生を対象としています : 該当なし

Team Foundation Server 2018 を使用したバージョン管理 補足資料

ダウングレードモデルの仕様 本機の仕様について説明します OS(Windows) UEFI の設定 本機にインストールされている OS(Windows) は次のとおりです 購入時 :Windows 7 がインストールされています OS 変更時 :Windows 10 をインストールして使用します ラ

Transcription:

ピクセル同期を利用した順不同半透明描画 ( 更新 ) この記事は インテル デベロッパー ゾーンに公開されている Order-Independent Transparency Approximation with Pixel Synchronization (Update 2014) の日本語参考訳です サンプルコードのダウンロード DirectX* SDK (June 2010) への依存性を排除し Windows* 8 SDK および Visual Studio* 2012/2013 で動作するようにサンプルコードを更新しました 任意の数の半透明レイヤーを正しい順序で合成するのは困難です そのため 半透明描画はリアルタイム レンダリングにおける基本的な課題です インテル Iris グラフィックスのピクセル同期拡張を利用する順不同半透明描画 (OIT) サンプルは 第 4 世代インテル Core プロセッサーでこの拡張を利用してリアルタイム ソリューションを示します Codemasters* の GRID* 2 および GRID Autosport* はこのアルゴリズムを使用して 図 1 に示すように 木々の葉やレーストラック脇の半透明オブジェクトのレンダリングを向上しました 図 1. 木々の葉や金網に OIT を適用した Codemasters* GRID* 2 の美しい野外風景 このサンプルは Marco Salvi 氏 Jefferson Montgomery 氏 および Aaron Lefohn 氏による記事 adaptive-transparency ( 英語 ) で紹介されているサンプルコードを基に構築した新しいアルゴリズムを使用します オリジナルの記事は アダプティブ半透明描画により A バッファーの合成から取得したグラウンドトゥルース結果の近似を 5 倍 ~ 40 倍高速に求める方法を詳しく説明しています すべての色と深度データをピクセルごとのリストに格納し それらをソートおよび合成する ( 図 2) 代わりに アルファブレンドの方程式を見直して 再帰とソートを回避し " 視感度関数 " (VF) を生成するようにしました ( 図 3)

図 2. A バッファールーチン 図 3. 視感度関数 ピクセルごとのリストを 1 回スキャンし ピクセルデータをデータノードの配列に追加します 視感度データの格納に使用するノード数は 視感度関数のステップ数に対応します 特定の画面上の位置に対して スキャンしたピクセル数がノードのサイズを超えると アルゴリズムはデータセットのサイズを固定に保ちながら 視感度関数をわずかに変更するため 既存のどのピクセル フラグメントをマージできるかを計算します 最終ステージでは 視感度関数 vis() を評価し 次の式を使用してフラグメントを合成します : final_color = 新しいアルゴリズムは 主に 2 つの点でこのアプローチを変更しています 1 つ目は インテル Iris グラフィックスのピクセル同期拡張を利用していることです ピクセル同期は 特定のピクセルの読み取り / 変更 / 書き込みの順序付けを行います 2 つのピクセルを画面上の同じ X Y 位置にレンダリングする場合 関連データへのアクセスで競合状態が発生する可能性があります ピクセルシェーダー拡張は ピクセルシェーダーにおけるバリアの役割を果たし 1 つのシェーダーのみ続行できるようにします どちらのシェーダーが実行されるかはフロントエンドに送られた順番によって決まり 1 つ目のシェーダーが実行を完了すると もう一方のシェーダーが実行を再開します 図 4 は この概念図です 図 4. ピクセルシェーダーの順序付け これにより ピクセルを解像フェーズではなくレンダリング時にマージすることができます 挿入フェーズでマージすることで ピクセルごとのリストを格納する必要がなくなり アルゴリズムは固定メモリーサイズになります また 通常 A バッファーやアダプティブ半透明描画アルゴリズムで リンクリスト ストレージのオーバーフローにより情報が紛失した場合に見られるアーティファクトも排除します さらに 占有する帯域幅が減ることでパフォーマンスが向上します 2 つ目のアルゴリズムの変更は 入力ピクセルを固定のノードセットにマージしていることです アダプティブ ルーチンを使用して視感度関数を作成する代わりに ピクセルをソートし 最も離れたピクセルをマージすることで近似を求めるようにしました これは 木々の葉のレンダリングのように 同系色のピクセルを

マージする場合に適してします ユーザーの要件に応じて 異なる挿入ルーチンを簡単に使用できるでしょう サンプルは 複雑な形状のレンダリングの課題を示す単純なシーンで構成されています ( 図 5) このシーンでは マテリアルを正しくレンダリングする上で 半透明描画が重要な役割を果たします 図 5. インテルの OIT サンプル ユーザーは 次の半透明描画手法を選択することができます 1. アルファ ブレンディング ( 図 6) 最初に立体形状をレンダリングし 内側から外側へソートされた半透明オブジェクトをレンダリングします 2. アルファ ブレンディングとアルファ トゥ カバレッジ ( 図 7) MSAA が必要です 木々の葉のように単純な半透明オブジェクトに対して 深度バッファリングを使用できます 3. DX11 で実装されているオリジナルのアダプティブ半透明描画ルーチン 4. インテル Iris グラフィックスのピクセル同期拡張を利用した OIT アルゴリズム ( 図 8) 最後のオプションを実行するには インテル Iris グラフィックスのピクセル同期拡張をサポートするハードウェアが必要です 以下は 各オプションの視覚的な違いを示したものです 図 6. アルファ ブレンディング図 7. アルファ トゥ カバレッジ図 8. ピクセルシェーダーの順序付け

サンプルでは オリジナルのアルファ ブレンディング ソリューションのアーティファクトを排除していません 実際のゲームでは モデルをさらに分割し カメラとの相対位置でソートすることで一部のアーティファクトを排除できるでしょう ここでは単純に レンダリングのためグラフィックス API へ送る前に半透明の形状をソートしなくても OIT によって解決されるアーティファクトの種類を示すことを目的としています 半透明の形状が深度バッファーを更新した場合に発生するハローパターンの種類を示すため アルファ ブレンディング処理済みの木々の葉を深度バッファーへ読み書きできるようにするチェックボックスがあります このデバッグ用のオプションは 木々の葉のシェーダーでアルファテストをパスしたピクセルの量を確認できるように用意されています サンプルは ピクセル同期 OIT アルゴリズムの実行時に 次のステップを実行します 最初に すべての立体形状をシーンへレンダリングします 次に 半透明描画が必要なマテリアルをレンダリングします この第 2 ステージで すべての半透明オブジェクトは ClearMaskUAV と AOIT サーフェスを更新します AOIT サーフェスには ピクセルごとの色と深度データが格納された複数のノードが含まれます 最後に 全画面の解像パスが ClearMaskUAV が設定されたバックバッファーに半透明のピクセルをマージします デバッグ時には 深度バッファーと ClearMaskUAV の値を確認できます 今回の記事およびサンプルコードの更新により 図 9 のように イメージを拡大し ピクセルごとの変更を確認できるようになりました 図 9. イメージを拡大した場合 また ([Enable Pixel Sync] チェックボックスをオンにすることで ) 実際のピクセル同期を無効にしたまま ピクセル同期 OIT ルーチンを実行できるようになりましたこれにより 同期プリミティブが利用できない場合に 競合状態によって生成されるアーティファクトをピクセルごとのレベルで確認できます インテルの OIT アルゴリズムは データ圧縮の程度 (2 4 または 8 ノード ) に応じて 異なる品質レベルを提供します ノード数が多いほうが より正確に視感度関数の近似を求めることができますが より多くのメモリーと帯域幅が必要になります GRID* 2 は パフォーマンスと画質を考慮して 2 ノードバージョンを使用することで わずかな画質の違いで大幅なパフォーマンスの向上を達成しました

アルゴリズムのメインコードは AOIT.hlsl にあるピクセルシェーダー関数 WriteNewPixelToAoit と AOIT_resolve.hlsl にある AOITSPResolvePS 関数です 一般に 最も時間がかかるルーチンは 挿入フェーズの WriteNewPixelToAoit です ピクセルシェーダーでこのルーチンを呼び出す場合 earlydepthstencil テストを使用して隠しピクセルを排除することで パフォーマンスを大幅に向上できます この時点での深度バッファーの正確さと完全性により より美しい半透明の形状を描画することができます これが GRID* 2 の最適化につながりました GRID* 2 では 木々の葉がほぼ 100% 不透明でない場合 不要な描画を減らすため 木々も深度バッファーにレンダリングされました OIT-Update-2014.zip (83.71MB) コンパイラーの最適化に関する詳細は 最適化に関する注意事項を参照してください