4

3D有限要素モデリングアプリケーションの出力を視覚化するために、OpenGLで視覚化ツールを開発しています。アプリケーションは四面体メッシュを使用します(ただし、三角形である外部ファセットのみを表示しています)。出力はスカラー変数であり、カラーマップにマップしたいと思います(これを行う方法はすでに知っています)。トリッキーな部分は、各セルの変数の値が、そのセルの座標の多項式関数(3次だと思いますが、まだ確定されていません)によって与えられることです。

OpenGLで、「スムーズ」シェーディングモデルを使用する場合、ポリゴンを作成して各頂点に異なる値を指定すると、頂点の値の間を自動的に(線形に)補間して、の色の値を取得します。内部のポイント。しかし、それは各セルに線形関数を与えるだけであり、私が指定する非線形関数にしたいのです。これを行う方法はありますか?

(もちろん、1つの解決策は、各セルを、それぞれの色があまり変化しないほど小さいOpenGLポリゴンの複合体として描画することにより、「手動で」補間することです。しかし、OpenGL自体かどうかを知りたいです。解決策があります。)

4

1 に答える 1

7

GLSLの経験がある場合(またはそれを学ぶ時間がある場合)はピクセルシェーダーを使用するか、スカラー値をテクスチャにレンダリングして三角形をテクスチャマッピングすることができます。

シェーダーを使用する場合は、三角形の頂点からカラー値を読み取り、適切と思われる補間を自分で実行できるはずです。

編集

私はその正確な問題を扱っている論文を見つけました:http://mgarland.org/files/papers/perpixel.pdf

于 2010-09-13T06:15:25.837 に答える