菜鸟请教:如何自动生成纹理 ,急急急
本人初学openGL,在给建筑物进行纹理贴图时,纹理无法显示,代码如下:
m_texture[0] = auxDIBImageLoad( "G:/DATA/texture/BricksLgMortar.bmp ");
if(!m_texture[0])
{
MessageBox( "Picture could not be loaded ");
exit(1);
}
glGenTextures(1 , &m_Texture);
glBindTexture(GL_TEXTURE_2D, m_Texture);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, m_texWrap);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, m_texWrap);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, m_texFilter);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, m_texFilter);
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, m_texMode);// 说明纹理贴图方式
glTexImage2D(GL_TEXTURE_2D, 0,3, m_texture[0]-> sizeX,m_texture[0]-> sizeY, 0,GL_RGB, GL_UNSIGNED_BYTE, m_texture[0]-> data);
// Build the mipmaps from the texture
gluBuild2DMipmaps(GL_TEXTURE_2D, 3, m_texture[0]-> sizeX,m_texture[0]-> sizeY, GL_RGBA, GL_UNSIGNED_BYTE, m_texture[0]-> data);
/////////////////////////////////////////////////////////////////////////////////
////////////自动生成纹理坐标
glEnable(GL_TEXTURE_GEN_S );
glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR);
//glTexGeni(GL_S,GL_TEXTURE_ENV_MODE,GL_NORAML_MAP);
glTexGenfv(GL_S, GL_OBJECT_PLANE, s_vector);
glDisable(GL_TEXTURE_GEN_S);
glEnable(GL_TEXTURE_GEN_T );
glTexGeni(GL_T, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR);
glTexGenfv(GL_T, GL_OBJECT_PLANE, t_vector);
glDisable(GL_TEXTURE_GEN_T);
请高手指点!
[解决办法]
glEnable(GL_TEXTURE_GEN_S);// 使用自动生成纹理
glEnable(GL_TEXTURE_GEN_T);
这两条语句放在一起看看
[解决办法]
http://www.owlei.com/DancingWind/