Ceci est lié à mon dernier question. Pour obtenir cette image:Problème de fusion d'images lors du rendu à la texture
http://img252.imageshack.us/img252/623/picture8z.png
Je dessine un fond blanc (couleur =
(1, 1, 1, 1)
).je rendre à texture les deux carrés supérieur gauche avec la couleur =
(1, 0, 0, .8)
et mélanger fonction(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
, puis dessiner la texture avec la couleur =(1, 1, 1, 1)
et mélanger fonction(GL_ONE, GL_ONE_MINUS_SRC_ALPHA)
.Je dessine le carré inférieur droit avec la couleur =
(1, 0, 0, .8)
et la fonction de fusion(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
.
D'après mes calculs, devraient avoir la couleur
.8 * (1, 0, 0, .8) + (1 - .8) * (0, 0, 0, 0) = (.8, 0, 0, .64)
les carrés à texture rendre et ainsi après avoir dessiné cette texture sur le fond blanc, ils devraient avoir la couleur
(.8, 0, 0, .64) + (1 - .8) * (1, 1, 1, 1) = (1, .2, .2, .84)
et le carré en bas à droite doit avoir la couleur
.8 * (1, 0, 0, .8) + (1 - .8) * (1, 1, 1, 1) = (1, .2, .2, .84)
qui devrait se ressembler! Mon raisonnement est-il faux? Mon calcul est-il faux?
Dans tous les cas, mon but est de mettre en cache une partie de ma scène. Comment puis-je rendre-à-texture, puis dessiner cette texture de sorte qu'il équivaut à dessiner la scène en ligne?