0

私はopenglとc ++を使用して画像処理を行っています。アイデアは簡単です。画像を読み込み、クリックして多角形を描画し、作成したばかりの多角形形状の内部のピクセルにのみ効果 (たとえば、彩度の低下) を適用します。

効果をポリゴンの内部のピクセルに制限する方法について誰か教えてもらえますか? 画像の読み込みとポリゴンの描画は問題ありません

4

1 に答える 1

0

次の状況を想定します。

  • 効果を適用する画像が画面全体に表示されます
  • 画像は opengl を使用してレンダリングされ、おそらく単純なシェーダーを介して、画像がテクスチャとして渡されます

次のアプローチを実行できます。

  • 画面を大きなテクスチャと見なす
  • レンダリングされたテクスチャの上にレンダリングされるポリゴンを描画します
  • ポリゴンの頂点の内側に、画面上の 2D 座標に対応する UV を挿入します (画面空間から UV 空間 (0 , 1 ) へ)
  • 普通に絵を描く
  • 写真の上に、テクスチャと同じ写真を使用してポリゴンを描画しますが、シェーダーは異なります

したがって、写真から特定の領域の彩度を下げる代わりに、同じ画像でその領域の上に多角形を作成し、その新しい多角形の彩度を下げます。

これは、ステンシル バッファーを回避するのに役立ちます。

もう 1 つの方法は、多角形を作成することですが、図が描画される前にステンシル バッファーにのみ描画します。

于 2014-10-27T09:03:18.647 に答える