2016-12-14 3 views
0

2つのfloat16値(初心者)とのOpenGL ESテクスチャを作成する:Iは、以下の仕様とのOpenGL ES 2.0アプリケーションのテクスチャを作成する必要が

  • 各画素は(二つの成分を有するがRとGでそれらを呼び出すことができフラグメントシェーダ)。
  • 各ピクセルコンポーネントは16ビットのフロートです。
  • これは、テクスチャ内のすべてのピクセルが4バイト(各コンポーネントごとに2バイト/ 16ビット)を持つことを意味します。
  • フラグメントシェーダは、2つのfloat16コンポーネントとしてテクスチャをサンプリングできなければなりません。
  • すべての形式は、OpenGL ES 2.0でサポートされている必要があります。

適切なglTexImage2D呼び出しはどのように見えますか?

よろしく

答えて

0

浮動小数点テクスチャや目標はOpenGL ESの2.xではサポートされているレンダリング浮動小数点どちらもしたがって、短い答えは「少なくともあなたがやろうとしていることはできない」ということです。

RGBA8テクスチャまたはレンダーターゲットに値のペアをパックすることで、より高い精度をエミュレートできます。 RGの値のペアは1つの値であり、BAはもう一方ですが、コンポーネントの8ビットのアンバーをシェーダコードでパック/アンパックする必要があります。これは、例えば、Gバッファの遅延レンダリングでは非常に一般的な解決策ですが、ローエンドのモバイルGPUの一部では比較的高価になる可能性があります(基本的にはレンダリングではなくオーバーヘッドです)。

関連する問題