SND\AstrorEnales_cp 5505f7dcbf - Added PlatformSystem Plugins layer
- Started Windows, Metro and Linux Platform-Plugins
- Moved the RecordingSample to the Samples folder
- Started two samples for using the graphics device in a WinForms and Wpf Editor
- Refactorings in the AddIn-System
- Moved the Window initialization-code to the Platform modules
- Changed the License text in all code files which is now way smaller
- Started ProjectConverter tool which converts all the projects and solution to the target configuration
- Changed the SupportedPlatform names in the Resource files
- Changed the WIN8 define to WINDOWSMETRO which is actually meant
- Removed NLog and started our own Logger class
- Many more stuff...
2012-08-09 09:45:04 +00:00

140 lines
2.8 KiB
C#

using ANX.Framework.Graphics;
using ANX.Framework.NonXNA;
using ANX.Framework.NonXNA.Development;
// 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.GL3
{
/// <summary>
/// Native Sampler State object for OpenGL.
/// <para />
/// Basically this is a wrapper class for setting the different values all
/// at once, because OpenGL has no State objects like DirectX.
/// <para />
/// Info for OpenGL filter states:
/// http://gregs-blog.com/2008/01/17/opengl-texture-filter-parameters-explained/
///
/// Info for OGL 3.3 sampler objects (sadly not implemented in OpenTK yet):
/// http://www.sinanc.org/blog/?p=215
/// </summary>
[PercentageComplete(10)]
[TestState(TestStateAttribute.TestState.Untested)]
public class SamplerStateGL3 : INativeSamplerState
{
#region Public
#region IsBound
/// <summary>
/// Flag if the state object is bound to the device.
/// </summary>
public bool IsBound
{
get;
private set;
}
#endregion
#region AddressU
public TextureAddressMode AddressU
{
set;
private get;
}
#endregion
#region AddressV
public TextureAddressMode AddressV
{
set;
private get;
}
#endregion
#region AddressW
public TextureAddressMode AddressW
{
set;
private get;
}
#endregion
#region Filter
public TextureFilter Filter
{
set;
private get;
}
#endregion
#region MaxAnisotropy
public int MaxAnisotropy
{
set;
private get;
}
#endregion
#region MaxMipLevel
public int MaxMipLevel
{
set;
private get;
}
#endregion
#region MipMapLevelOfDetailBias
public float MipMapLevelOfDetailBias
{
set;
private get;
}
#endregion
#endregion
#region Constructor
/// <summary>
/// Create a new sampler state object.
/// </summary>
internal SamplerStateGL3()
{
IsBound = false;
}
#endregion
#region Apply
/// <summary>
/// Apply the sampler state.
/// </summary>
/// <param name="graphicsDevice">Graphics device.</param>
/// <param name="index">The index of which sampler should be modified.</param>
public void Apply(GraphicsDevice graphicsDevice, int index)
{
IsBound = true;
// TODO: set stuff
}
#endregion
#region Release
/// <summary>
/// Release the sampler state.
/// </summary>
public void Release()
{
IsBound = false;
}
#endregion
#region Dispose
/// <summary>
/// Dispose the sampler state object.
/// </summary>
public void Dispose()
{
}
#endregion
}
}