6

私の OpenGL プロジェクトでは、次のような滑らかなポリゴンを動的に作成したいと考えています。

ここに画像の説明を入力

この問題は、主にスムージング プロセスに依存しています。ここまでの手順は、まず頂点をランダムに配置した VBO を作成することです。

次に、私のフラグメント シェーダー (私はプログラム可能な関数パイプラインを使用しています) で、平滑化プロセスが発生する必要があります。つまり、頂点間の以前に定義された「線」から曲線が作成されます。

そして、まさにここに問題があります。私は、ポイントが「平滑化されたポリゴン」の内側にあるかどうかを調べる複雑な数学的アルゴリズムにあまり精通していません。

4

1 に答える 1

3

まず、フラグメント シェーダーでは実際にはできません。フラグメント シェーダは、画面に書き込まれる前に、「ピクセル」(基本的には実際のピクセルですが、正確ではありません) の最終的な (っぽい) 色の設定に制限されています。曲線上に新しい点を作成することはできません。

このページでは、滑らかな曲線を作成するためのさまざまなアルゴリズムの概要を説明しています。

一般的なアプローチは、ジオメトリ シェーダーを使用していくつかのポイントを複数のポイントに分割し、それらを通常のポリゴンのようにレンダリングすることです。でも詳細はわかりません。たとえば、ベジエ ジオメトリ シェーダをGoogle 検索してみてください。

待って、私はうそをつきます。フラグメントシェーダーでそれを行うプログラムhereを見つけました。

于 2012-04-28T12:58:52.373 に答える