19. 曲線、表面、エバリュエータの使い方

19.010  OpenGLのエバリュエータで B-スプライン曲面を作るには?

OpenGL エバリュエータは Bezier をベースにしています。 他のベース〈Bスプラインなどの〉を使って表面を表現するためには、コントロールポイントをBezierベースに変換しなければなりません。 OpenGLプログラミングガイド、12章に、これらの変換の基となる数学についての参考書のリストが載っています。

19.020  エバリュエータによって生成された幾何学的数値を取得するには?

OpenGL は数値を直接取得する方法を提供しません。

Mesa のソースコードをダウンロードし、 OpenGL ジオメトリパイプラインからパスや、オブジェクト座標を取り出すために、その評価用のソースコードのエバリュエータの部分を修正することできます。

エバリュエータは数多くの数式に依存します。従って、イミディエイトモードの時にはそれらの情報を取得することはできません。 何人かのプログラマーが、生成された幾何情報を「取得」する必要があり、 最大の性能を達成するために、その情報を使い回すといったことを行うかもしれません。 実に、もしそれが可能ならば、よい解決策であるでしょう。 いくつかのインプリメンテーションがディスプレイリストの使用によって最大のエバリュエータ性能を提供します。