2010-09-17 3 views
0

Essayait de faire fonctionner Stencil dans mon application. J'utilise Sprites pour rendre le contenu sur le périphérique. Le contenu pourrait être des films, des images ou du texte. Puis-je définir le tampon stencil à l'aide de ces objets Sprites, qui peuvent être utilisés dans des passes ultérieures pour stencil sur d'autres objets Sprites rendus?Impossible d'obtenir un pochoir au travail

Je ne suis même pas capable de dessiner n'importe quel Sprites en définissant StencilFunction = Compare.Never! Quelque chose de mal que je pourrais faire?

J'ai déjà passé presque une journée entière à consulter des articles liés aux pochoirs dans MDX, mais je n'ai pas réussi à le faire fonctionner. Un peu plus de recherche m'a amené à une technique dans laquelle nous dessinons la silhouette des formes à ajouter à la mémoire tampon du stencil

Est-ce vraiment nécessaire dans mon cas? Je veux juste utiliser les Sprites, et les ajouter au tampon stencil pour stencil d'autres Sprites.

EDIT: OK .. J'ai donc compris comment le faire. Renvoyé à cet article - http://www.gamedev.net/community/forums/viewreply.asp?ID=1999276

Mais maintenant, l'image-objet ignore les valeurs alpha et rend les images-objets opaques. Semblable à l'effet que nous obtenons lorsque alpha blending est défini sur false. Des idées?

Répondre

0

Donc, j'ai finalement compris. Tout est lié aux Sprites et à sa méthode Begin().

Sprite.Begin() va modifier le pochoir renderState et désactiver. Nous pouvons l'empêcher en définissant l'indicateur SpriteFlags.DoNotModifyRenderState, mais le mélange alpha n'est pas pris en charge lorsque les images-objets sont dessinées.

Ce que je ne maintenant été simplement appeler Sprite.Begin() sans SpriteFlags.DoNotModifyRenderState jeu de drapeau. Et avant l'appel à Sprite.Draw(), activé pochoir sur l'appareil.

Questions connexes