輪郭の設定は「gluBeginTrim()」、「gluEndTrim()」、「gluPwlCurve()」を使う
[例]
//輪郭線の各頂点
float OutContour[5][2]=
{
{0,0},{1,0},{1,1},{0,1},{0,0}//(u,v)
};
... ...
//nurbsオブジェクト
GLUnurbsObj *theNurb;
... ...
//NURBS曲面の輪郭を設定
gluBeginTrim (theNurb);
gluPwlCurve (theNurb, 5, &OutContour[0][0], 2, GLU_MAP1_TRIM_2);
gluEndTrim (theNurb);
... ...
■void gluPwlCurve(GLUnurbs* nurb, GLint count, GLfloat* data, GLint stride, GLenum type);
トリミング閉曲線を設定する。
―第1引数―
対象のnurbsオブジェクトを指定。
―第2引数―
輪郭線の頂点の数
―第3引数―
輪郭線のデータ元
―第4引数―
1頂点が何要素かを指定。
―第5引数―
「GLU_MAP1_TRIM_2」か「GLU_MAP1_TRIM_3」を設定する。
※メモ:輪郭線の頂点数
輪郭線の頂点数は、スタート位置と終了位置が同じなのだが、
データとしては、用意する必要がある。(例の場合、実際は4頂点だが、データは5頂点分記述する。)