AndroidのOpenGLES2.0で、いくつかの三角形に画像を表示するための簡単な画像ビューアを作成しています。これらの画像には特定の色があり、何らかの方法で黒に置き換える必要があります。問題は、最小フィルターと最大フィルターにGL_LINEARを使用した場合、置き換える必要のある色の輪郭が表示されたままになることです。フィルタにGL_NEARESTを使用すると、シェーダーはそれほど問題なく色を置き換えることができますが、画像をスムーズにレンダリングせず、もちろんズームインおよびズームアウト時にピクセル化されたように見えます。
この種のタスクを実行するためのより良い方法があるのだろうか。私が持っていたいくつかのアイデアは次のとおりです。
- テクスチャピクセルで1回だけ実行され、フラグメントシェーダーでテクスチャが実際に使用される前に色を置き換える、別のシェーダーを作成しますか?
- GL_LINEARが使用されている場合でも機能するように、シェーダーを書き直します。
誰かが私にこれが通常どのように行われるかについての手がかりを与えることができますか?シェーダーでこの操作を実行したい理由は、マスクのピクセルカラーが常に黒のままであることを確認できるようにするためです。
私はOpenGLES2.0にまったく慣れていませんが、物事がどのように機能するかを学ぼうとしています。それを心に留めて、私が学ぶのを手伝ってください。前もって感謝します。