est-il un moyen de spécifier {GL_SRC_COLOR, xxx}
et {xxx, GL_DST_COLOR}
de telle sorte que les couleurs de la source et la destination sont multipliés et également veiller à ce que si GL_SRC_ALPHA = 0 que le résultat est {GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA}
? Je crée un rectangle superposé sur mon monde de jeu qui commence transparent mais au fil du temps, la superposition devient une combinaison de bleu foncé et les couleurs sous-jacentes.OpenGL Blending GL_SRC_COLOR/GL_DST_COLOR
J'ai essayé {GL_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA}
entre autres, montré ci-dessous. Dans les deux images, le côté gauche est la journée sans la superposition, le côté droit avec la superposition.
La nuit est sur la droite, la superposition (SRC) à pleine alpha
temps jour avec la superposition est sur la droite à 0 alpha.
Le problème est que, avec SRC alpha égal à zéro la couleur de destination est doublée. Je voudrais qu'il reste le même que sans la superposition, de sorte que je ne peux ajuster que l'opacité pendant le jeu et la transition vers la nuit. Y a-t-il un moyen de le faire, ou un autre moyen d'obtenir le même effet?