私はC#でOpenTKを使用するゲームに取り組んでいます。現在、一時停止メニューシステムを実装しようとしています。
私があなたの助けを必要としている1つの機能は、メニューが表示されたときに画面全体を暗くすることです。
すべてがレンダリングされたら、すべてのピクセル(RGBの半分?)の最終変更を行う方法はありますか?そうでない場合は、画面上にクワッドを描画することは機能しますが、OpenTKクワッドで機能するように半透明にする方法を理解できないようです。
できることは、半不透明なグレーの画像を作成することです。ゲームが一時停止されているときは、そのテクスチャをすべての上に描画するだけです (ただし、おそらく一時停止テキストの下にあるため、灰色で表示されません)。すべてのゲーム要素は引き続き表示されます (テクスチャが不透明であるため)。それらは実質的に「グレー表示」されます。
100% と 0% のアルファのみを使用し、画面を「暗く」する単純な効果の 1 つは、黒と透明のピクセルのチェッカーボード パターン (50% 暗くする) を作成し、それを画面全体にレンダリングすることです。
これの欠点は、画面を完全に「暗くする」ことではありませんが、部分的な透明度を処理するよりも高速であり、そのままで良い効果をもたらすことができます (少し多様性があります)。