2012-08-09 09:45:04 +00:00
|
|
|
#region Using Statements
|
2011-11-16 14:27:53 +00:00
|
|
|
using System;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
using System.Linq;
|
|
|
|
using System.Text;
|
|
|
|
using ANX.Framework.NonXNA;
|
|
|
|
using SharpDX.Direct3D10;
|
|
|
|
|
|
|
|
#endregion // Using Statements
|
|
|
|
|
2012-08-09 09:45:04 +00:00
|
|
|
// 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
|
2011-11-16 14:27:53 +00:00
|
|
|
|
2012-08-09 09:45:04 +00:00
|
|
|
using EffectPass = ANX.Framework.Graphics.EffectPass;
|
2011-11-16 14:27:53 +00:00
|
|
|
|
2012-08-09 09:45:04 +00:00
|
|
|
namespace ANX.RenderSystem.Windows.DX10
|
2011-11-16 14:27:53 +00:00
|
|
|
{
|
|
|
|
public class EffectTechnique_DX10 : INativeEffectTechnique
|
|
|
|
{
|
|
|
|
private EffectTechnique nativeTechnique;
|
2011-11-22 14:51:30 +00:00
|
|
|
private ANX.Framework.Graphics.Effect parentEffect;
|
|
|
|
|
|
|
|
internal EffectTechnique_DX10(ANX.Framework.Graphics.Effect parentEffect)
|
|
|
|
{
|
|
|
|
if (parentEffect == null)
|
|
|
|
{
|
|
|
|
throw new ArgumentNullException("parentEffect");
|
|
|
|
}
|
|
|
|
|
|
|
|
this.parentEffect = parentEffect;
|
|
|
|
}
|
2011-11-16 14:27:53 +00:00
|
|
|
|
|
|
|
public EffectTechnique NativeTechnique
|
|
|
|
{
|
|
|
|
get
|
|
|
|
{
|
|
|
|
return this.nativeTechnique;
|
|
|
|
}
|
|
|
|
internal set
|
|
|
|
{
|
|
|
|
this.nativeTechnique = value;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public string Name
|
|
|
|
{
|
|
|
|
get
|
|
|
|
{
|
|
|
|
return nativeTechnique.Description.Name;
|
|
|
|
}
|
|
|
|
}
|
2011-11-22 14:51:30 +00:00
|
|
|
|
|
|
|
|
2012-08-09 09:45:04 +00:00
|
|
|
public IEnumerable<EffectPass> Passes
|
2011-11-22 14:51:30 +00:00
|
|
|
{
|
|
|
|
get
|
|
|
|
{
|
|
|
|
for (int i = 0; i < nativeTechnique.Description.PassCount; i++)
|
|
|
|
{
|
|
|
|
EffectPass_DX10 passDx10 = new EffectPass_DX10();
|
|
|
|
passDx10.NativePass = nativeTechnique.GetPassByIndex(i);
|
|
|
|
|
2012-08-09 09:45:04 +00:00
|
|
|
EffectPass pass = new EffectPass(this.parentEffect);
|
2011-11-22 14:51:30 +00:00
|
|
|
|
|
|
|
yield return pass;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2011-11-16 14:27:53 +00:00
|
|
|
}
|
|
|
|
}
|