2016-09-26 4 views
0

mediump floatのGLESシェーダは、テクスチャ座標には十分だと思われますが、画面座標には十分ですか?しかし精度は+1024上または-1024下に、フロート変数に2つだけの画素をインクリメントすることができることを意味するのみ10ビットであり、-16384から+16384に -GLESのmediump floatは表示座標をマッピングするのに十分な精度を持っていますか?

this answerによれば、mediump float範囲の良い量を有します私はそれを正しく理解しているので、画面のエッジ付近のテクスチャ間でピクセルエラーやシームが発生します。

現代の携帯電話ではディスプレイの解像度が3840x2160になりますが、mediumpは頂点シェーダーのピクセル完全な画面座標を指定するには不十分です。

1920x1080画面の真ん中をゼロの座標で、左上または左下のコーナーではなく、これらの上で実行している算術演算には注意してください変数が安全な-1024:+1024の範囲を決して超えないようにします。

携帯電話の製造元は、GFXハードウェアの浮動小数点精度を仕様よりも上げて、より大きなスクリーンにマッチさせることもできますが、そのような疑いはあります。

誰かがこれを確認できますか?

答えて

0

ほとんどのGPUは、mediumpを半精度の浮動小数点として実装しています。これは、-2048〜2048(Source)の範囲のすべてのintを表すことができるため、mediumpに許される最小値よりわずかに優れていて、心配している-1024〜1024ではありません。

また、適切に溶接されたジオメトリには、ラスタライズルールがそれを避けるため、目に見える継ぎ目がないようにしてください。

しかし、mediumpが高解像度の画面で問題を引き起こすことは間違いありません。正確な座標を指定することはできません。

私は常に、位置座標とその位置で動作するすべての行列にhighpを使用することをお勧めします。しかし、たとえ高解像度画面でgl_FragCoordをmediump(some discussion here

として実装できるという問題があります
関連する問題