0
刚刚接触OpenGL。是否可以在地形上包装单个图像?如何在OpenGL中的地形上添加单个纹理?
下面的代码会生成图像拼贴,但我想在整个地形上添加单个拼贴。
glBindTexture(GL_TEXTURE_2D, land);
for (int z = 0; z < MAP_Z-1; z++)
{
glBegin(GL_TRIANGLE_STRIP);
for (int x = 0; x < MAP_X-1; x++)
{
glTexCoord2f(0.0f, 0.0f);
glVertex3f(terrain[x][z][0], terrain[x][z][1], terrain[x][z][2]);
glTexCoord2f(1.0f, 0.0f);
glVertex3f(terrain[x+1][z][0], terrain[x+1][z][1], terrain[x+1][z][2]);
glTexCoord2f(0.0f, 1.0f);
glVertex3f(terrain[x][z+1][0], terrain[x][z+1][1], terrain[x][z+1][2]);
glTexCoord2f(1.0f, 1.0f);
glVertex3f(terrain[x+1][z+1][0], terrain[x+1][z+1][1], terrain[x+1][z+1][2]);
}
glEnd();
}
你需要一些强制转换,否则你正在做整数除法。 – Pubby
不错,谢谢@Pubby。 – NickLH
我试过这种方式。我仍然得到瓷砖..我不知道我在我的代码上犯了什么错误。有没有其他的方法可以做? – Srivi