Commit Description:
Tidy code.
Commit Description:
Tidy code.
File last commit:
Show/Diff file:
Action:
FNA/src/Graphics/Effect/EffectPass.cs
76 lines | 1.3 KiB | text/x-csharp | CSharpLexer
#region License
/* FNA - XNA4 Reimplementation for Desktop Platforms
* Copyright 2009-2020 Ethan Lee and the MonoGame Team
*
* Released under the Microsoft Public License.
* See LICENSE for details.
*/
#endregion
#region Using Statements
using System;
#endregion
namespace Microsoft.Xna.Framework.Graphics
{
public sealed class EffectPass
{
#region Public Properties
public string Name
{
get;
private set;
}
public EffectAnnotationCollection Annotations
{
get;
private set;
}
#endregion
#region Private Variables
private Effect parentEffect;
private IntPtr parentTechnique;
private uint pass;
#endregion
#region Internal Constructor
internal EffectPass(
string name,
EffectAnnotationCollection annotations,
Effect parent,
IntPtr technique,
uint passIndex
) {
Name = name;
Annotations = annotations;
parentEffect = parent;
parentTechnique = technique;
pass = passIndex;
}
#endregion
#region Public Methods
public void Apply()
{
if (parentTechnique != parentEffect.CurrentTechnique.TechniquePointer)
{
throw new InvalidOperationException(
"Applied a pass not in the current technique!"
);
}
parentEffect.OnApply();
parentEffect.INTERNAL_applyEffect(pass);
}
#endregion
}
}