2011-11-11 17 views
0
glGenTextures(1, &texName[0]); 
glBindTexture(GL_TEXTURE_2D, texName[0]); 
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); 
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP); 
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); 
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); 
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, widthImage , widthImage, 
    0, GL_RGB, GL_UNSIGNED_BYTE, image); 

テクスチャをnurbsサーフェスにマップしようとしました。テクスチャはnurbsサーフェス全体をマッピングしません。

gluBeginSurface(theNurbs); 

gluNurbsSurface(theNurbs, numOfKnots, knots, numOfKnots, knots, ctrNum*3, 3, &tCtrPoint[0][0][0],order, order,GL_MAP2_TEXTURE_COORD_2); 

gluNurbsSurface(theNurbs, numOfKnots2, knots2, numOfKnots2, knots2, ctrNum2*3, 3, &ctrPoint[0][0][0], order2, order2, GL_MAP2_VERTEX_3); 

gluEndSurface(theNurbs); 

問題はテクスチャが表面のすべての領域をマッピングに見えるということです、しかし、写真だけで左下の小さなグリッド(白グリッド)に表示されます。他の部分は黒です。

写真を全面にマップしたいと思います。しかし、私はそれを行う方法を理解することはできません。

+0

実際に画像を投稿しますが、不適切なテクスチャを示す画像の代わりに、15 * 15のグリッドが表示されます。これは誰も想像することのできない問題です。 –

答えて

0

何時間も過ごした後、私はついにこの問題を見つけました。

コントロールポイントの座標を計算すると、tCtrPoint[i][j][1] =j/(num-1);のようなコードが使用されます。問題は、被除数と除数が整数型であることです。したがって、\部門は正しい値を得ていませんでした。私は前にこの種の間違いを犯しました。

関連する問題