我目前正在尝试为一些矩形着色,以表示游戏角色的碰撞盒。问题是我尝试仅应用于矩形的颜色也应用于我的角色和背景纹理。因此,如果我使用以下代码绘制矩形:
void DrawBackground(ui32 TextureID, Drawable_Rect BackgroundImage, v2f MinUV, v2f MaxUV)
{
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, TextureID);
glBegin(GL_QUADS);
glTexCoord2f(MinUV.x, MinUV.y);
glVertex2f(BackgroundImage.BottomLeft.x, BackgroundImage.BottomLeft.y);
glTexCoord2f(MaxUV.x, MinUV.y);
glVertex2f(BackgroundImage.BottomRight.x, BackgroundImage.BottomRight.y);
glTexCoord2f(MaxUV.x, MaxUV.y);
glVertex2f(BackgroundImage.TopRight.x, BackgroundImage.TopRight.y);
glTexCoord2f(MinUV.x, MaxUV.y);
glVertex2f(BackgroundImage.TopLeft.x, BackgroundImage.TopLeft.y);
glEnd();
glFlush();
glDisable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, 0);
}
然后在绘制我的背景纹理之后:
for file in os.listdir(path):
if file.starstwith(regex):
os.rename(file, file.replace(" ", "_"))
然后我的矩形和背景都是红色,而不仅仅是我的矩形。为什么将颜色同时应用于矩形和纹理?