OpenGL建筑物贴图问题
我要制作一个建筑物的三维模型,在一张含有建筑物部分纹理(例如房顶纹理)的影像上,截取长方形的影像块,生成了纹理,再在纹理中取出所需部分贴在建筑物的顶部。思路是没有错的,但是问题出来了,贴的纹理每次都不一样,有时候是正确的,有时候又是错误的希望高手能帮助解决这个问题。部分代码如下:
(注:影像的坐标系为屏幕坐标系)
struct POINT3D_IMG {
double X, Y, Z;
float ix, iy; // texture coordinate
};
DrawTriangle( POINT3D_IMG *pts ,double xmin, double ymin, double wid, double hei)
{
glBegin( GL_TRIANGLES );
glColor3f(1.0f, 1.0f, 1.0f);
for( int i=0; i<3; i++)
{
glTexCoord2f((pts->ix-xmin)/wid, 1-(pts->iy-ymin)/hei);
glVertex3d( pts->X, pts->Y, pts->Z );
pts++;
}
glEnd();
}