私のプロジェクトでは、'discard' 呼び出しを使用してカスタマイズされたステンシル テストを実行しました。これは、ステンシル テクスチャによって定義された特定の領域にのみ描画を試みるものです。フラグメント シェーダーのコードは次のとおりです。
//get the stencil value from a texture
float value=texture2D( stencilTexture, gl_FragCoord.xy/1024.0).x;
//check if value equals the desired value, if not draw nothing
if(abs(value-desiredValue)>0.1)
{
discard;
}
このコードは機能しますが、'discard' 呼び出しが原因でパフォーマンスの問題が発生します。GPU シェーダーを使用してこれを行う別の方法はありますか? どうやってか教えて。