summaryrefslogtreecommitdiff
path: root/Plugins/MonoGame.Extended/source/MonoGame.Extended.Graphics/IBatchDrawCallInfo.cs
blob: 67c47552014059bc6a6db29e098de581ac88a8aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using Microsoft.Xna.Framework.Graphics;

namespace MonoGame.Extended.Graphics
{
    /// <summary>
    ///     Defines the for a deferred draw call when batching.
    /// </summary>
    public interface IBatchDrawCallInfo<TDrawCallInfo> where TDrawCallInfo : IBatchDrawCallInfo<TDrawCallInfo>
    {
        /// <summary>
        ///     Applies any state from the <see cref="IBatchDrawCallInfo{TDrawCallInfo}" /> to the
        ///     <see cref="Effect" /> or <see cref="Effect.GraphicsDevice"/>.
        /// </summary>
        /// <param name="effect">The effect.</param>
        void SetState(Effect effect);

        bool TryMerge(ref TDrawCallInfo drawCall);
    }
}