3

低解像度の組み込みデバイスでOpenGLESを使用しています。

レンダリングされたシーンの背景として機能する大きなポリゴンに、頂点カラーリングを使用して垂直方向のカラーグラデーションを適用しました。カラーグラデーションではっきりと見えるバンディングアーティファクトを見ることができます。

私の主な経験は、ソフトウェアレンダラーを使用することです。ソフトウェアレンダラーでは、マッハバンドやその他のバンディングアーティファクトをディザリングするのが一般的です。これは、フレームをレンダリングする量子化ステップでよく行われます。ここでは、浮動小数点の高精度の色表現が低精度の出力に変換されます(通常は整数成分を使用)。最終的な整数成分をランダムに上下に丸めてディザリングを実現し、画像にごくわずかなノイズを挿入して、目をだまして連続体を見て色をスムーズにブレンドします。

私の質問は、OpenGLESを使用してこれを達成できるかどうかです。この種のディザリングはOpenGLパイプラインの一部ですか、それとも頂点の色付けをスキップしてグラデーションをテクスチャにレンダリングし、それに少しノイズを適用する必要がありますか?

4

2 に答える 2

1

glEnable(GL_DITHER) を試しましたか? 通常、最初は有効になっていますが、GL ES や組み込みデバイスで作業したことはありません。また、フレーム バッファで使用している色深度にも依存する場合があります。チャネルあたり 4 ビットしかない場合、アーティファクトが発生します。

于 2008-10-15T16:41:10.440 に答える
0

あなたがOGLパイプにいると説明する効果について聞いたことがありません。しかし、私の知識はこの時点では少し古いので、間違っているかもしれません。可能であれば、ショットをテクスチャリングするためのレンダリングを行います。

于 2008-10-13T19:06:15.610 に答える