書式
void gluLoadSamplingMatrices( GLUnurbs* nurb,
const GLfloat *model,
const GLfloat *perspective,
const GLint *view )
delim $$
PARAMETERS
- nurb
- NURBS オブジェクト(gluNewNurbsRenderer を使って作る)を指定する。
- model
- モデルビュー行列を指定する(glGetFloatv 関数で得られる)。
- perspective
- 射影行列を指定する(glGetFloatv 関数で得られる)。
- view
- ビューポートを指定する(glGetFloatv 関数で得られる)。
説明
gluLoadSamplingMatrices は model, perspective, view を使い、nurb に格納されている サンプリング行列と カリング行列を再計算する。 サンプリング行列は、 サンプリングの許容誤差(GLU_SAMPLING_TOLERANCE 属性で決まる)を 満たすためにどれだけ高精度で NURBS 曲線・曲面をテセレーション処理する のかを決める。 カリング行列は、(GLU_CULLING 属性が有効の時に) レンダリング前に NURBS 曲線・曲面をカリング処理するかどうかを 決めるために使われる。gluLoadSamplingMatrices が必要となるのは、 GLU_AUTO_LOAD_MATRIX 属性が無効の場合だけである (gluNurbsProperty を参照)。 GLU_AUTO_LOAD_MATRIX 属性を有効のままにしておくと便利ではある が、その反面、性能的には不利になる場合がある。 (モデルビュー行列、射影行列、ビューポートを取得するには、GL サーバとの やりとりが必要である。)