我必须创建动画,在那里加特林枪将会被射击(它不一定是复杂的,因为它只是一种练习)。我拔出枪的基本版本,看起来像这样:opengl - 如何将纹理放在3D不规则物体上
不要打扰颜色 - 我让他们一样,要能看到有枪的特定部分的egdes。现在我想通过使用一些纹理 - 摩洛或类似金属色 - example 1或example2使其看起来更好。我知道如何加载纹理以及如何将其用于2d对象,但我不知道是否有可能为我的整个绘图使用此纹理,或者是否必须分别为每个部分使用纹理?这是我的代码对应于从BMP文件加载纹理,并使其能够使用:
void initTexture(string fileName)
{
loadBmp(fileName.c_str());
textureId = 13;
glBindTexture(GL_TEXTURE_2D, textureId); //Tell OpenGL which texture to edit
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
//Map the image to the texture
glTexImage2D(GL_TEXTURE_2D, //Always GL_TEXTURE_2D
0, //0 for now
GL_RGB, //Format OpenGL uses for image
tex.info.biWidth, tex.info.biHeight, //Width and height
0, //The border of the image
GL_RGB, //GL_RGB, because pixels are stored in RGB format
GL_UNSIGNED_BYTE, //GL_UNSIGNED_BYTE, because pixels are stored
//as unsigned numbers
tex.px); //The actual pixel data
}
loadBmp()是函数加载位图文件。我试图在互联网和计算器中搜索某些东西,但所有关于立方体或球体的例子都不帮助我。我怎样才能把纹理放在这张图上?
我知道这是错误的,但这是我的做法。我必须使用OpenGL绘制所有这些,而无需加载任何模型。我知道这是愚蠢的,但我能说什么 - 我只需要做这个... :( – Blood
@血液:家庭作业的任务?那么告诉他们教你什么在现实世界的预期 - 没有人硬编码模型。他们不能指望大学生解决问题,这些问题仍然是积极的学术研究,你当然可以使用一些技巧,比如给每个桶提供自己的纹理,并使用圆柱形纹理坐标 – datenwolf
你是不对的我已经发布回答这个问题。检查出来 – Blood