anx.framework/ANX.Framework/Graphics/SamplerStateCollection.cs
Glatzemann fa32fcea55 added some tests
added some developer attributes
completed some more classes
2015-03-15 01:11:47 +01:00

50 lines
1.5 KiB
C#

#region Using Statements
using System;
using ANX.Framework.NonXNA.Development;
#endregion
// 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.Framework.Graphics
{
[PercentageComplete(100)]
[Developer("Glatzemann")]
[TestState(TestStateAttribute.TestState.Untested)]
public sealed class SamplerStateCollection
{
private readonly SamplerState[] samplerStates;
private readonly GraphicsDevice graphics;
public SamplerStateCollection(GraphicsDevice graphics, int maxSamplers)
{
this.graphics = graphics;
this.samplerStates = new SamplerState[maxSamplers];
for (int i = 0; i < samplerStates.Length; i++)
samplerStates[i] = SamplerState.LinearWrap;
}
public SamplerState this[int index]
{
get
{
if (index < 0 || index >= samplerStates.Length)
throw new ArgumentOutOfRangeException("index");
return samplerStates[index];
}
set
{
if (samplerStates[index] != value)
{
samplerStates[index] = value;
samplerStates[index].NativeSamplerState.Apply(graphics, index);
}
}
}
}
}