glutSolidSphere上的OpenGl纹理不显示
OpenGl - texture on glutSolidSphere does not show
我已成功加载纹理
// 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);
任何人知道为什么会发生这种事,请。。。(请不要记下我,我在这里很努力)
您可能已经加载了纹理图像。但您也需要提供纹理坐标。你的船可能会这样做。但是,glutSolidSphere没有,你对此无能为力。所以不要使用glutSolidSphere。
相关文章:
- dx11 渲染到纹理仅显示透明颜色
- 无法获取要在 OpenGL ES2 中显示的 RGB 纹理
- 如何显示具有 opengl 纹理的灰度图像
- SDL + OpenGL ES 2.0 使用着色器显示纹理
- 如何使用 openGL 在屏幕上显示加载的纹理
- 在 SFML 中不使用动态内存时显示白色纹理代替实际纹理
- 纹理显示为黑色
- 使用两个纹理 SDL2 显示视频
- 纹理未显示
- 渲染到框架/纹理显示为空
- 无法使用 OpenGL 显示纹理
- OpenGL纹理未显示
- 使用OpenGL显示两个对象.纹理不像预期的那样行为
- 试图显示纹理,但只能使用OpenGL获得纯色
- OpenGL:无法显示纹理
- 在openGL(版本>3.3)的屏幕上显示纹理时如何更改纹理的大小?
- QT和OpenGL如何正确集成和显示纹理
- 无法在SDL 2中显示纹理
- 用c++在OpenGL ES中显示纹理有问题
- 为什么我不能在OpenGL中显示纹理