J'ai des problèmes de transparence de texture dans OpenGL. Comme vous pouvez le voir sur l'image ci-dessous, ça ne marche pas vraiment. Il est à noter, que le noir est en fait le ClearColor, que j'utilise pour effacer l'écran.OpenGL: problème de texture transparente
J'utilise le code suivant pour mettre en œuvre le mélange:
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
Voici mon fragment shader:
#version 330 core
in vec2 tex_coords;
out vec4 color;
uniform vec4 spritecolor;
uniform sampler2D image;
void main(void)
{
color = spritecolor * texture(image, tex_coords);
}
Voici une capture d'écran de la scène en mode wireframe, en cas il aide avec les vertices dessinés:
Si vous avez besoin d'aide, n'hésitez pas à me contacter, je l'ajouterai.
Vous avez pour dessiner les objets opaques en premier. Les objets transparents doivent être dessinés après, triés par la distance inverse à la position de la caméra. (Considérez le test de profondeur) – Rabbid76
Oui, ça l'a fait! Pourriez-vous ajouter votre commentaire en guise de réponse, pour que je puisse l'accepter? – AProgrammer