如何实现Nurbs曲面的纹理贴图
有哪位知道怎样设置Nurbs曲面的纹理参数,nurbs曲面的纹理坐标,实现nurbs曲面的纹理贴图,还有用哪种贴图方式最佳。
我采用如下方式,却实现不了nurbs曲面贴图。
glPixelStorei(GL_UNPACK_ALIGNMENT,1);
glTexImage2D(GL_TEXTURE_2D,0,3,width,height,
0,GL_RGB,GL_UNSIGNED_BYTE,pTextureBits);
*/
// gluBuild2DMipmaps(GL_TEXTURE_2D,3,Images[1]->sizeX,Images[1]->sizeY,GL_RGB,GL_UNSIGNED_BYTE,Images[1]->data);
//纹理参数设置
/* glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_CLAMP);
glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_CLAMP);
glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST);
//纹理环境模式的控制
glTexEnvf(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_CLAMP);
gluBeginSurface(theNurb);
//生成纹理坐标
gluNurbsSurface(theNurb,
4,sknots,
4,tknots,
2*2,
2,
(float*)textureCntrlPnt,
2,2,
GL_MAP2_TEXTURE_COORD_2);
//几何坐标坐标生成
gluNurbsSurface(theNurb,
8, sknots,
8, sknots,
12,
3,
(float*)controlPoints,
4, 4,
GL_MAP2_VERTEX_3);
gluEndSurface(theNurb);