71 lines
1.6 KiB
C#

using System;
using System.Collections.Generic;
using ANX.Framework.Graphics;
using ANX.Framework.NonXNA;
using ANX.RenderSystem.Windows.Metro.Shader;
// This file is part of the ANX.Framework created by the
// "ANX.Framework developer group" and released under the Ms-PL license.
// For details see: http://anxframework.codeplex.com/license
namespace ANX.RenderSystem.Windows.Metro
{
public class EffectTechnique_Metro : INativeEffectTechnique
{
#region Private
private EffectPass_Metro[] passes;
#endregion
#region Public
public string Name
{
get;
private set;
}
public int PassCount
{
get
{
return passes.Length;
}
}
public IEnumerable<EffectPass> Passes
{
get
{
foreach (EffectPass_Metro pass in passes)
{
yield return pass.Pass;
}
}
}
public EffectPass_Metro this[int index]
{
get { return passes[index]; }
}
public EffectAnnotationCollection Annotations
{
get { throw new NotImplementedException(); }
}
#endregion
#region Constructor
public EffectTechnique_Metro(string setName, Effect parentEffect,
ExtendedShaderPass[] nativePasses)
{
Name = setName;
passes = new EffectPass_Metro[nativePasses.Length];
for (int index = 0; index < nativePasses.Length; index++)
{
passes[index] = new EffectPass_Metro(parentEffect, nativePasses[index]);
}
}
#endregion
}
}