OpenGL - masque avec plusieurs textures

J'ai mis en œuvre de masquage en OpenGL selon le concept suivant:

  • Le masque est composé de couleurs noir et blanc.
  • Un de premier plan de la texture ne doit être visible dans les parties blanches du masque.
  • Une texture d'arrière-plan ne devrait être visible dans les parties noires du masque.

Je peux faire le blanc ou le noir, le cadre de travail comme le suppose en utilisant glBlendFunc(), mais pas les deux en même temps, parce que la couche de premier plan non seulement des mélanges sur le masque, mais aussi sur le calque d'arrière-plan.

Est-il quelqu'un qui sait comment faire cela de la meilleure façon? J'ai été cherché sur le net et lire quelque chose sur les fragment shaders. Est-ce la voie à suivre?

Je sais qu'il y a un moyen de le faire, je suis sûr que c'est un simple masque de fonction, mais il a été âge depuis que j'ai utilisé OpenGL. Avez-vous vu: nehe.gamedev.net/data/lessons/lesson.asp?lesson=20
Merci pour la réponse rapide. Oui, mon application est basé sur ce tutoriel et qui fonctionne pour un masque avec une texture, mais quand j'utilise deux textures pour un masque comme indiqué ci-dessus, le résultat n'est pas ce que j'attendais: le premier plan, les couleurs de l'image également de fusion sur le calque d'arrière-plan au lieu de le masque. Dois-je poster une capture d'écran pour illustrer mon problème?
C'est un très basique (simple) pour un fragment shader. Cependant, je ne peux pas vous diriger à un bon Fixe en Fonction de la solution.

OriginalL'auteur red | 2011-02-23