Я сделал что-то подобное в Monogame:
Мой вопрос: что мне нужно сделать, чтобы нарисовать этот световой эффект только на колонне, а не на фоне? Есть ли что-то вроде игнорирования определенных спрайтов при использовании BlendState.Additive
? Как это будет работать? Вот как я его сейчас рисую.
//draw background
spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.Opaque);
spriteBatch.Draw(Background, Vector2.Zero, Color.White);
spriteBatch.End();
//draw pillar
spriteBatch.Begin(SpriteSortMode.Deferred);
spriteBatch.Draw(Texture, new Rectangle(PillarX, PillarY, Width, Height), Color.White);
spriteBatch.End();
//draw lighting sprite in additive mode
spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.Additive);
spriteBatch.Draw(LightTexture, pos, null, Color.OrangeRed, 0f, Vector2.Zero,
scale, SpriteEffects.None, 0f);
spriteBatch.End();
xna
- person MickyD   schedule 28.02.2015