我设法加载纹理
// Load texture
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
pBytes = gltLoadTGA("../earth.tga", &iWidth, &iHeight, &iComponents, &eFormat);
glTexImage2D(GL_TEXTURE_2D, 0, iComponents, iWidth, iHeight, 0, eFormat, GL_UNSIGNED_BYTE, pBytes);
free(pBytes);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
当我像这样纹理球体时它没有显示(图像256x256 32位)
glDisable(GL_LIGHTING);
glEnable(GL_TEXTURE_2D);
glutSolidSphere(35.0f, 30, 17);
glDisable(GL_TEXTURE_2D);
glEnable(GL_LIGHTING);
但是我有一个由金字塔形状制成的船,同样的技术也适用于它
glEnable(GL_TEXTURE_2D);
ship();
glDisable(GL_TEXTURE_2D);
任何人都知道为什么会发生这种情况请...(请不要标记我,我在这里努力工作)
答案 0 :(得分:0)
您可能已加载纹理图像。但是你还需要提供纹理坐标。你的船可能会这样做。然而,glutSolidSphere却没有,而且你无能为力。所以不要使用glutSolidSphere。