テクスチャ (Texture) のフィルタリング¶
テクスチャフィルタリングを適用することで、パフォーマンスがわずかに低下するものの、3Dシーンの画像品質を向上させることができます。ベースラインのポイントサンプリングでは、テクスチャデータ全体をメモリに格納する必要がありますが、ミップマッピング(またはその他のフィルタリングオプション)を使用する場合、テクスチャ領域が小さいときには、より小さいサイズのテクスチャバージョンを使用できます。ミップマップ (Mipmap) の使用 を参照してください。
アプリケーションの要件に最も適したテクスチャフィルタリングオプションを選択します。
テクスチャフィルタリングの使用¶
テクスチャフィルタリングを使用するには:
Library > Materials and Textures > Textures で、フィルタリングを適用したいテクスチャを選択します。
.jpeg テクスチャからはミップマップを作成しないでください。.jpeg 画像形式ではミップマップの品質が低下します。
Properties で Texture Settings プロパティを設定します。
Texture Settings プロパティを使用してテクスチャフィルタリングを制御します。まず、Mipmap Mode プロパティを使用したいミップマップモードに設定します。次に、Minification Filter と Magnification Filter プロパティを Linear に設定します。ミップマップを使用するとメモリ使用量が増加することに注意してください。
通常、最初はテクスチャフィルタリングを以下のように設定するのが適切です。
Minification Filter から Linear へ
Magnification Filter から Linear へ
Mipmap Mode から Nearest へ。テクスチャが縮小されていないと確信している場合は Base を選択し、それ以外の場合は Nearest から始めてください。例えば、Render Target Texture のデフォルト値は Base です。この設定では、テクスチャにはミップマップレベルがなく、ベースレベルが常にサンプリングされます。ミップマップ (Mipmap) の使用 を参照してください。
一部のテクスチャフォーマットは、OpenGL ES バージョン 2.0 より高いバージョンで利用可能です。OpenGL ES バージョンを設定するには、メインメニューで Project > Properties を選択し、Properties で Target Graphics API プロパティを設定します。
例えば、Target Graphics API プロパティを OpenGL ES 3.0 に設定し、HDR および浮動小数点画像を .dds 形式でインポートし、テクスチャのカラーフォーマットを設定します。Kanzi でOpenGL ES 3.0+を使用する を参照してください。
Mipmap Mode
Nearest サンプル
Linear サンプル
Base
サンプル数:1
テクスチャ内の最も近いピクセルを使用します。この組み合わせはポイントサンプルと等しいです。すべての組み合わせの中で最も粗い結果を返し、縮小されたときにエイリアシングを引き起こす可能性があります。
このコンビネーションを使用すると、テクスチャを拡大するときに非常にシャープな結果が得られます。
サンプル数:4
テクスチャ内の最も近い 4 ピクセルの間で補間します。
グラデーションを拡大するにはこのコンビネーションを使用します。一方、縮小には使用しないでください。
Nearest
サンプル数:1
テクスチャキャッシングを助け、エイリアシングを減少させます。しかし、テクスチャが平坦な表面で使用されるときに、鋭い遷移を生じることがあります。
良好なパフォーマンスを必要とするターゲットプラットフォームで、より高い品質を提供する余裕がない場合には、このコンビネーションを使用します。
このコンビネーションが通常、最も高速です。
サンプル数:4
2 つのミップマップレベルから 2 つのサンプルを取り、それらのサンプル間で補間します。
このコンビネーションは、新規作成時に使用します。
このコンビネーションは通常、品質とパフォーマンスのバランスが最も取れています。
縮小されないことがわかっている場合は、Mipmap Mode を Base に設定できます。
Linear
サンプル数:2
2 つのミップマップレベルから 1 つのサンプルを取り、それらのサンプル間で補間します。
このコンビネーションは特殊効果に使用します。例えば、リムライト効果を実装するために使用します。
サンプル数:8
2 つのミップマップレベルから 4 つのサンプルを取り、それらのサンプル間で補間します。
最高品質が必要な場合、結果を簡単にレンダリングできる能力がプラットフォームあれば、このコンビネーションを使用します。
このコンビネーションでは、パフォーマンス上の悪影響が最も大きくなります。