Я использую C++ и OpenGL для создания базовой 2D-игры, у меня есть png-изображение с прозрачными областями для моего плеера. Он отлично работает на моих ноутбуках и лабораторных компьютерах, но на моем рабочем столе весь образ в основном просматривается, а не только те области, которые должны быть. Что может вызвать/исправить это?OpenGL Texture Transparency
Вот код, который я использовал, и то же самое на всех машинах
glPushMatrix();
glEnable(GL_TEXTURE_2D);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glBindTexture(GL_TEXTURE_2D, playerTex);
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
glTranslatef(XPos, YPos, 0.0);
glRotatef(heading, 0,0,1);
glBegin(GL_POLYGON);
glTexCoord2f(0.0, 1.0); glVertex2f(-40,40);
glTexCoord2f(0.0, 0.0); glVertex2f(-40,-40);
glTexCoord2f(1.0, 0.0); glVertex2f(40,-40);
glTexCoord2f(1.0, 1.0); glVertex2f(40,40);
glEnd();
glDisable(GL_BLEND);
glDisable(GL_TEXTURE_2D);
glPopMatrix();
Желаю, чтобы я мог дать вам больше upvotes .. :) ваш код спас меня .. :) –