
コンピュータグラフィックスにおいて、ラスタライゼーション(イギリス英語)またはラスタライゼーション(アメリカ英語)は、ベクターグラフィックス形式(図形)で記述された画像をラスター画像(一連のピクセル、ドット、または線で、一緒に表示されると、図形で表現された画像が作成される)に変換するタスクです。[1] [2]ラスタライズされた画像は、コンピュータディスプレイ、ビデオディスプレイ、またはプリンタに表示されたり、ビットマップファイル形式で保存されたりします。ラスタライゼーションは、 3Dモデルを描画する手法、またはポリゴンや線分などの2Dレンダリングプリミティブをラスタライズ形式に 変換することを指す場合があります。
語源
「ラスタライゼーション」という用語は、ドイツ語の Raster (グリッド、パターン、スキーマ)とラテン語の rāstrum (スクレーパー、レーキ)に由来しています。[3] [4]
2D画像
ラインプリミティブ
Bresenham のライン アルゴリズムは、ラインをラスタライズするために使用されるアルゴリズムの例です。
円プリミティブ
中点円アルゴリズムなどのアルゴリズムは、ピクセル化されたキャンバス上に円をレンダリングするために使用されます。
3D画像
ラスタライゼーションは、3D モデルをレンダリングする一般的な手法の 1 つです。レイ トレーシングなどの他のレンダリング手法と比較すると、ラスタライゼーションは非常に高速であるため、ほとんどのリアルタイム 3D エンジンで使用されています。ただし、ラスタライゼーションは、シーン ジオメトリからピクセルへのマッピングを計算するプロセスにすぎず、それらのピクセルの色を計算する特定の方法を規定するものではありません。各ピクセルの特定の色は、ピクセル シェーダーによって割り当てられます(最新のGPUでは完全にプログラム可能です)。シェーディングでは、ライトの位置などの物理的効果、その近似値、または純粋に芸術的な意図が考慮される場合があります。
3Dモデルを2D平面にラスタライズしてコンピュータ画面(「スクリーンスペース」)に表示するプロセスは、多くの場合、グラフィックスパイプライン内の固定機能(プログラム不可能な)ハードウェアによって実行されます。これは、レンダリング時に使用されるラスタライズ技術を変更する動機がなく、 [5]専用システムによって高い効率が得られるためです。
三角形のラスタライズ

ポリゴンはデジタル 3D モデルの一般的な表現です。ラスタライズする前に、個々のポリゴンは通常三角形に分割されます。したがって、3D ラスタライズで解決する典型的な問題は三角形のラスタライズです。三角形のラスタライズ アルゴリズムに通常必要なプロパティは、2 つの隣接する三角形 (つまり、エッジを共有する三角形) をラスタライズすることです。
- 三角形の間には穴(ラスタライズされないピクセル)が残らないので、ラスタライズされた領域は完全に埋められます(隣接する三角形の表面と同じように)。そして
- ピクセルは複数回ラスタライズされません。つまり、ラスタライズされた三角形は重なり合いません。これは、三角形がラスタライズされる順序によって結果が左右されないことを保証するためです。ピクセルをオーバードローすることは、上書きされるピクセルに計算能力を浪費することを意味する場合もあります。
これにより、上記の条件を保証するラスタライズルールが確立されます。そのようなルールの1つは左上ルールと呼ばれ、次の場合にのみピクセルがラスタライズされることを示しています。
- その中心は三角形の内側に完全に収まる。または
- その中心は、三角形の辺(角の場合は複数の辺)、つまり上辺または左辺(角の場合はすべての辺)に正確に位置します。
上端は正確に水平で他の端より上に位置する端であり、左端は三角形の左側にある非水平の端です。
このルールは、例えばDirect3D [6]や多くのOpenGL実装によって実装されています(仕様では定義されておらず、一貫したルールのみを要求していますが[7])。
品質

ラスタライズの品質は、アンチエイリアシングによって向上し、「滑らかな」エッジが作成されます。サブピクセル精度は、ピクセルグリッドよりも細かいスケールで位置を考慮し、プリミティブのエンドポイントが同じピクセル座標に収まる場合でも異なる結果を生成することができる方法であり、より滑らかな動きのアニメーションを生成します。PlayStation 1などの単純なハードウェアや古いハードウェアでは、3Dラスタライズでサブピクセル精度が不足していました。[8]
参照
- フォントのラスタライズ
- サブピクセル解像度
- 画像トレース
- 隠面判定
- ラスタライズの代表的な手法であるブレゼンハムのラインアルゴリズム
- ラインごとのラスタライズのためのスキャンラインレンダリング
- レンダリング(コンピュータグラフィックス)のより一般的な情報
- 市販のグラフィックスハードウェアでのラスタライズ用グラフィックスパイプライン
- 印刷システムにおける 2D ラスタライズ用ラスタ画像プロセッサ
- ソースアートのベクターグラフィック
- 結果のラスターグラフィック
- ラスターからベクターへの逆方向の変換
- 不規則三角形網、地形データのベクター ソース。多くの場合、(ラスター)デジタル標高モデルとしてラスター化されます。
- 表示リスト
- 空間アンチエイリアシング
参考文献
- ^ Michael F. Worboys (1995 年 10 月 30 日)。GIS: コンピュータサイエンスの視点。CRC プレス。pp. 232– 。ISBN 978-0-7484-0065-2。
- ^ Kang-Tsung Chang (2007 年 8 月 27 日)。VBA による ArcObjects のプログラミング: タスク指向アプローチ、第 2 版。CRC Press。pp. 91– 。ISBN 978-1-4200-0918-7。
- ^ Harper, Douglas. 「raster」.オンライン語源辞典。
- ^ rastrum. Charlton T. LewisとCharles Short. Perseus Projectのラテン語辞典。
- ^ 「ラスタライゼーション:実用的な実装」www.scratchapixel.com . 2023年10月6日閲覧。
- ^ 「ラスタライズ ルール (Direct3D 9)」。Microsoft Docs。2020年4 月 19 日閲覧。
- ^ OpenGL 4.6 (PDF) . p. 478.
- ^ 「PlayStation ラスタライズの問題」Libretro 2016年10月4日。 2020年4月19日閲覧。
外部リンク
- マイケル・アブラッシュのコンピュータグラフィックスに関する記事
- Microsoft の DirectX API
- OpenGL API
- MathWorld の行列 (変換行列を含む)
- ラスタライゼーションの実用的な実装
