タグ付けされた質問 「rasterizer」

1
Metalではミップマップレベルはどのように計算されますか?
私の質問は、特にMetalに関するものです。なぜなら、別のAPIで答えが変わるかどうかわからないからです。 私がこれまでのところ理解していると信じているのはこれです: ミップマップされたテクスチャには事前に計算された「詳細レベル」があり、元のテクスチャを何らかの意味のある方法でダウンサンプリングすることで、より低い詳細レベルが作成されます。 ミップマップレベルは、詳細レベルの降順で参照されます。レベル0は元のテクスチャであり、高レベルはその2のべき乗の縮小です。 ほとんどのGPUは、トライリニアフィルタリングを実装します。これは、各サンプルの2つの隣接ミップマップレベルを選択し、バイリニアフィルタリングを使用して各レベルのサンプルを選択し、それらのサンプルを線形ブレンドします。 私がよく理解していないのは、これらのミップマップレベルがどのように選択されるかです。Metal標準ライブラリのドキュメントでは、lod_options型のインスタンスを指定してもしなくても、サンプルを取得できることがわかります。この引数はミップマップレベルの選択方法を変更するものと思われ、lod_options2次元テクスチャには明らかに3種類あります。 bias(float value) level(float lod) gradient2d(float2 dPdx, float2 dPdy) 残念ながら、ドキュメントではこれらのオプションが何をするのかわからない。bias()自動的に選択された詳細レベルにバイアスがかかると推測できますが、バイアスのvalue意味は何ですか?どの規模で動作しますか?同様に、どのように離散ミップマップレベルlodにlevel()変換されますか?そして、gradient2d()テクスチャ座標の勾配を使用するという仮定の下で動作する場合、その勾配をどのように使用してミップマップレベルを選択しますか? さらに重要なのは、を省略した場合lod_options、ミップマップレベルはどのように選択されるのかということです。これは、実行されている機能のタイプによって異なりますか? また、sample()関数のデフォルトのno-lod-options-specific操作がgradient2D()(少なくともフラグメントシェーダーで)次のようなことをすることである場合、単純な画面空間の派生物を利用するか、ラスタライザーおよび補間されたテクスチャ座標で直接動作しますか正確な勾配を計算するには? 最後に、この動作はデバイスごとにどの程度一貫していますか?古い記事(DirectX 9と同じ)は、複雑なデバイス固有のミップマップ選択について言及しましたが、新しいアーキテクチャでミップマップ選択がより適切に定義されているかどうかはわかりません。

1
GPUにラスタライザーがまだあるのはなぜですか?
進歩にもかかわらず、最新のGPUはまだラスタライザーを修正しています。プログラム可能なシェーダーで高度にカスタマイズ可能ですが、完全にプログラム可能ではありません。 何故ですか? GPUが、ラスタライザーがユーザーが提供するデバイス用の単なるソフトウェアであるユニバーサルコンピューティングユニットを備えた単純な超並列デバイスになれないのはなぜですか? 固定機能のハードウェアはパフォーマンス面で非常に有益であり、そのようなアプローチは実行不可能ですか?
14 gpu  rasterizer 

1
隣接する三角形がラスタライズされたときに重複しないのはなぜですか?
次のnoobの質問についてはお詫び申し上げます。満足のいく答えがどこにも見つからないだけです... 2つの三角形で構成される単純な軸に位置合わせされた四角形をレンダリングするとき、それらの三角形が交わる対角エッジに目に見えるアーチファクトがない理由がわかりません。それらのピクセルのいくつかは両方の三角形にある必要がありますよね?したがって、私のフラグシェーダーが常に部分的に透明な色(50%の黒など)を放出する場合、結果の四角形に濃い対角線が表示されてはいけませんか? 明らかに、これがコード化する必要のある本当の問題ではないのは素晴らしいことですが、なぜそうならないのか理解できません。これが常にうまくいくのはどのGPUマジックですか?
11 opengl  gpu  rasterizer 

1
スキャン変換中のサンプルギャップとは何ですか?
で、このチュートリアル、 エッジを共有する三角形がレンダリングされることがよくあります。OpenGLは、共有されたエッジの頂点位置が同一である限り、スキャン変換中にサンプルのギャップがないことを保証します。 1スキャン変換中のサンプルギャップとは正確には何ですか? 2どのような状況で起こりますか? 3ラインがフラグメントの中心を横切るときに起こりますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.