0
如何将纹理应用于glutSolidSphere?OpenGl - 纹理glutSolidSphere?
这是我已经试过,但它不工作:
GLuint textureid;
glGenTextures(1, &textureid);
glBindTexture(GL_TEXTURE_2D, textureid);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, "stone.tga");
// Planet
glDisable(GL_LIGHTING);
glBindTexture(GL_TEXTURE_2D, textureid);
glutSolidSphere(35.0f, 30, 17);
glEnable(GL_LIGHTING);
可以有些一个直接我如何加载纹理并启用它。
我听说glutSolidSphere已经发出纹理坐标,所以我不必在那里做任何特别的事情。
感谢你的回复罗伯特我认为我明白你的意思,但它会一段时间,直到我完全理解它 – Led 2012-01-07 06:02:35
这是相当简单的,如果你把它分解到非常基础。颜色(至少在电脑中)由3种颜色组成:红色,绿色和蓝色。 (还有透明度:Alpha)。像TGA这样的文件格式不仅仅是一个包含每个像素颜色值的byte []阵列,还有文件标题,压缩文件等等。你需要做的是从TGA纹理中去除所有多余的东西以检索原始图像数据。然后您只需将该原始数据发送给OpenGL,然后从那里处理它。 – 2012-01-07 06:09:05
如果你真的可以告诉我这将是太好,不真实:p ...但无论如何感谢你的帮助到目前为止罗伯特我欣赏它 – Led 2012-01-07 06:16:34