lots of ContentItems and some processors implemented (body's are missing often)

This commit is contained in:
Glatzemann 2012-08-17 14:16:58 +00:00
parent 9eca0e4bcd
commit 2f635020a8
41 changed files with 1359 additions and 6 deletions

View File

@ -34,6 +34,11 @@
<Reference Include="System" />
</ItemGroup>
<ItemGroup>
<Compile Include="Audio\AudioContent.cs" />
<Compile Include="Audio\AudioFileType.cs" />
<Compile Include="Audio\AudioFormat.cs" />
<Compile Include="Audio\ConversionFormat.cs" />
<Compile Include="Audio\ConversionQuality.cs" />
<Compile Include="Graphics\AlphaTestMaterialContent.cs" />
<Compile Include="Graphics\BasicMaterialContent.cs" />
<Compile Include="Graphics\BitmapContent.cs" />
@ -48,7 +53,7 @@
<Compile Include="ContentItem.cs" />
<Compile Include="ContentProcessor.cs" />
<Compile Include="ContentProcessorAttribute.cs" />
<Compile Include="ContextProcessorContext.cs" />
<Compile Include="ContentProcessorContext.cs" />
<Compile Include="EffectImporter.cs" />
<Compile Include="ExternalReference.cs" />
<Compile Include="FbxImporter.cs" />
@ -72,6 +77,9 @@
<Compile Include="Graphics\GeometryContentCollection.cs" />
<Compile Include="Graphics\IndexCollection.cs" />
<Compile Include="Graphics\IndirectPositionCollection.cs" />
<Compile Include="Graphics\TextureCubeContent.cs" />
<Compile Include="Graphics\Texture3DContent.cs" />
<Compile Include="Graphics\SkinnedMaterialContent.cs" />
<Compile Include="Graphics\MaterialContent.cs" />
<Compile Include="Graphics\MeshBuilder.cs" />
<Compile Include="Graphics\MeshContent.cs" />
@ -82,18 +90,46 @@
<Compile Include="Graphics\NodeContentCollection.cs" />
<Compile Include="Graphics\PixelBitmapContent.cs" />
<Compile Include="Graphics\PositionCollection.cs" />
<Compile Include="Graphics\Texture2DContent.cs" />
<Compile Include="Graphics\TextureContent.cs" />
<Compile Include="Graphics\TextureReferenceDictionary.cs" />
<Compile Include="Graphics\VectorConverter.cs" />
<Compile Include="Graphics\VertexChannel.cs" />
<Compile Include="Graphics\VertexChannelCollection.cs" />
<Compile Include="Graphics\VertexChannelNames.cs" />
<Compile Include="Graphics\VertexContent.cs" />
<Compile Include="IContentImporter.cs" />
<Compile Include="IContentProcessor.cs" />
<Compile Include="NamedValueDictionary.cs" />
<Compile Include="OpaqueDataDictionary.cs" />
<Compile Include="Processors\CompiledEffectContent.cs" />
<Compile Include="Processors\EffectProcessor.cs" />
<Compile Include="Processors\EffectProcessorDebugMode.cs" />
<Compile Include="Processors\FontDescriptionProcessor.cs" />
<Compile Include="Processors\FontTextureProcessor.cs" />
<Compile Include="Processors\MaterialProcessor.cs" />
<Compile Include="Processors\MaterialProcessorDefaultEffect.cs" />
<Compile Include="Processors\ModelBoneContent.cs" />
<Compile Include="Processors\ModelBoneContentCollection.cs" />
<Compile Include="Processors\ModelContent.cs" />
<Compile Include="Processors\ModelMeshContent.cs" />
<Compile Include="Processors\ModelMeshContentCollection.cs" />
<Compile Include="Processors\ModelMeshPartContent.cs" />
<Compile Include="Processors\ModelMeshPartContentCollection.cs" />
<Compile Include="Processors\ModelProcessor.cs" />
<Compile Include="Processors\ModelTextureProcessor.cs" />
<Compile Include="Processors\PassThroughProcessor.cs" />
<Compile Include="Processors\SongContent.cs" />
<Compile Include="Processors\SongProcessor.cs" />
<Compile Include="Processors\SoundEffectContent.cs" />
<Compile Include="Processors\SoundEffectProcessor.cs" />
<Compile Include="Processors\SpriteFontContent.cs" />
<Compile Include="Processors\SpriteTextureProcessor.cs" />
<Compile Include="Processors\TextureProcessor.cs" />
<Compile Include="Processors\TextureProcessorOutputFormat.cs" />
<Compile Include="Processors\VertexBufferContent.cs" />
<Compile Include="Processors\VertexDeclarationContent.cs" />
<Compile Include="Processors\VideoProcessor.cs" />
<Compile Include="Serialization\Compiler\BuiltInTypeWriter.cs" />
<Compile Include="Serialization\Compiler\ContentCompiler.cs" />
<Compile Include="Serialization\Compiler\ContentTypeWriter.cs" />
@ -129,6 +165,7 @@
<Compile Include="Serialization\Compiler\SystemTypeWriters\NullableWriter.cs" />
<Compile Include="Serialization\Compiler\SystemTypeWriters\TimeSpanWriter.cs" />
<Compile Include="TargetPlatform.cs" />
<Compile Include="VideoContent.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\ANX.Framework\ANX.Framework.csproj">

View File

@ -0,0 +1,37 @@
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.ObjectModel;
#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.Content.Pipeline.Audio
{
public class AudioContent : ContentItem, IDisposable
{
public ReadOnlyCollection<byte> Data { get; internal set; }
public TimeSpan Duration { get; internal set; }
[ContentSerializer]
public string FileName { get; internal set; }
public AudioFileType FileType { get; internal set; }
public AudioFormat Format { get; internal set; }
public int LoopLength { get; internal set; }
public int LoopStart { get; internal set; }
public void ConvertFormat(ConversionFormat formatType, ConversionQuality quality, string targetFileName)
{
throw new NotImplementedException();
}
public void Dispose()
{
throw new NotImplementedException();
}
}
}

View File

@ -0,0 +1,18 @@
#region Using Statements
using System;
#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.Content.Pipeline.Audio
{
public enum AudioFileType
{
Mp3,
Wav,
Wma,
}
}

View File

@ -0,0 +1,27 @@
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.ObjectModel;
#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.Content.Pipeline.Audio
{
public sealed class AudioFormat
{
public int AverageBytesPerSecond { get; internal set; }
public int BitsPerSample { get; internal set; }
public int BlockAlign { get; internal set; }
public int ChannelCount { get; internal set; }
public int Format { get; internal set; }
public ReadOnlyCollection<byte> NativeWaveFormat { get; internal set; }
public int SampleRate { get; internal set; }
}
}

View File

@ -0,0 +1,19 @@
#region Using Statements
using System;
#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.Content.Pipeline.Audio
{
public enum ConversionFormat
{
Adpcm,
Pcm,
WindowsMedia,
Xma,
}
}

View File

@ -0,0 +1,18 @@
#region Using Statements
using System;
#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.Content.Pipeline.Audio
{
public enum ConversionQuality
{
Low,
Medium,
Best,
}
}

View File

@ -19,7 +19,7 @@ namespace ANX.Framework.Content.Pipeline
throw new NotImplementedException();
}
public abstract TOutput Process(TInput input, ContextProcessorContext context);
public abstract TOutput Process(TInput input, ContentProcessorContext context);
Type IContentProcessor.InputType
{
@ -31,7 +31,7 @@ namespace ANX.Framework.Content.Pipeline
get { throw new NotImplementedException(); }
}
object IContentProcessor.Process(object input, ContextProcessorContext context)
object IContentProcessor.Process(object input, ContentProcessorContext context)
{
throw new NotImplementedException();
}

View File

@ -13,9 +13,9 @@ using ANX.Framework.Graphics;
namespace ANX.Framework.Content.Pipeline
{
public abstract class ContextProcessorContext
public abstract class ContentProcessorContext
{
public ContextProcessorContext()
public ContentProcessorContext()
{
throw new NotImplementedException();
}

View File

@ -0,0 +1,71 @@
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
#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.Content.Pipeline.Graphics
{
public class SkinnedMaterialContent : MaterialContent
{
public const string AlphaKey = "";
public const string DiffuseColorKey = "";
public const string EmissiveColorKey = "";
public const string SpecularColorKey = "";
public const string SpecularPowerKey = "";
public const string TextureKey = "";
public const string WeightsPerVertexKey = "";
public SkinnedMaterialContent()
{
}
public Nullable<float> Alpha
{
get;
set;
}
public Nullable<Vector3> DiffuseColor
{
get;
set;
}
public Nullable<Vector3> EmissiveColor
{
get;
set;
}
public Nullable<Vector3> SpecularColor
{
get;
set;
}
public Nullable<float> SpecularPower
{
get;
set;
}
public ExternalReference<TextureContent> Texture
{
get;
set;
}
public Nullable<int> WeightsPerVertex
{
get;
set;
}
}
}

View File

@ -0,0 +1,34 @@
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
#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.Content.Pipeline.Graphics
{
public class Texture2DContent : TextureContent
{
public Texture2DContent()
: base(null) //TODO: implement
{
}
public MipmapChain Mipmaps
{
get;
set;
}
public override void Validate(Framework.Graphics.GraphicsProfile? targetProfile)
{
throw new NotImplementedException();
}
}
}

View File

@ -0,0 +1,33 @@
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
#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.Content.Pipeline.Graphics
{
public class Texture3DContent : TextureContent
{
public Texture3DContent()
: base(null) // TODO: implement
{
}
public override void GenerateMipmaps(bool overwriteExistingMipmaps)
{
throw new NotImplementedException();
}
public override void Validate(Framework.Graphics.GraphicsProfile? targetProfile)
{
throw new NotImplementedException();
}
}
}

View File

@ -0,0 +1,28 @@
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
#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.Content.Pipeline.Graphics
{
public class TextureCubeContent : TextureContent
{
public TextureCubeContent()
: base(null) //TODO: implement
{
}
public override void Validate(Framework.Graphics.GraphicsProfile? targetProfile)
{
throw new NotImplementedException();
}
}
}

View File

@ -0,0 +1,43 @@
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ANX.Framework.Graphics;
#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.Content.Pipeline.Graphics
{
public static class VectorConverter
{
public static Converter<TInput, TOutput> GetConverter<TInput, TOutput>()
{
throw new NotImplementedException();
}
public static bool TryGetSurfaceFormat(Type vectorType, out SurfaceFormat surfaceFormat)
{
throw new NotImplementedException();
}
public static bool TrayGetVectorType(SurfaceFormat surfaceFormat, out Type vectorType)
{
throw new NotImplementedException();
}
public static bool TryGetVectorType(VertexElementFormat vertexElementFormat, out Type vectorType)
{
throw new NotImplementedException();
}
public static bool TryGetVertexElementFormat(Type vectorType, out VertexElementFormat vertexElementFormat)
{
throw new NotImplementedException();
}
}
}

View File

@ -0,0 +1,151 @@
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ANX.Framework.Graphics;
using System.Text.RegularExpressions;
#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.Content.Pipeline.Graphics
{
public static class VertexChannelNames
{
public static string Binormal(int usageIndex)
{
return EncodeName("BINORMAL", usageIndex);
}
public static string Color(int usageIndex)
{
return EncodeName("COLOR", usageIndex);
}
public static string DecodeBaseName(string encodedName)
{
return encodedName.TrimEnd('0', '1', '2', '3', '4', '5', '6', '7', '8', '9');
}
public static string DecodeUsageIndex(string encodedName)
{
string baseName = DecodeBaseName(encodedName);
return encodedName.Replace(baseName, "").Trim();
}
public static string EncodeName(string baseName, int usageIndex)
{
return String.Format("{0}{1}", baseName.ToUpperInvariant(), usageIndex);
}
public static string EncodeName(VertexElementUsage vertexElementUsage, int usageIndex)
{
string baseName = String.Empty;
switch (vertexElementUsage)
{
case VertexElementUsage.Binormal:
case VertexElementUsage.BlendIndices:
case VertexElementUsage.BlendWeight:
case VertexElementUsage.Color:
case VertexElementUsage.Normal:
case VertexElementUsage.Position:
case VertexElementUsage.Tangent:
baseName = vertexElementUsage.ToString().ToUpperInvariant();
break;
case VertexElementUsage.PointSize:
baseName = "PSIZE";
break;
case VertexElementUsage.TessellateFactor:
baseName = "TESSFACTOR";
break;
case VertexElementUsage.TextureCoordinate:
baseName = "TEXCOORD";
break;
}
if (!String.IsNullOrEmpty(baseName))
{
return EncodeName(baseName, usageIndex);
}
return baseName;
}
public static string Normal()
{
return Normal(0);
}
public static string Normal(int usageIndex)
{
return EncodeName("NORMAL", usageIndex);
}
public static string Tangent(int usageIndex)
{
return EncodeName("TANGENT", usageIndex);
}
public static string TextureCoordinate(int usageIndex)
{
return EncodeName("TEXCOORD", usageIndex);
}
public static bool TryDecodeUsage(string encodedName, out VertexElementUsage usage)
{
string baseName = DecodeBaseName(encodedName);
switch (baseName)
{
case "BINORMAL":
usage = VertexElementUsage.Binormal;
return true;
case "BLENDINDICES":
usage = VertexElementUsage.BlendIndices;
return true;
case "BLENDWEIGHT":
usage = VertexElementUsage.BlendWeight;
return true;
case "COLOR":
usage = VertexElementUsage.Color;
return true;
case "NORMAL":
usage = VertexElementUsage.Normal;
return true;
case "POSITION":
usage = VertexElementUsage.Position;
return true;
case "PSIZE":
usage = VertexElementUsage.PointSize;
return true;
case "TANGENT":
usage = VertexElementUsage.Tangent;
return true;
case "TEXCOORD":
usage = VertexElementUsage.TextureCoordinate;
return true;
case "TESSFACTOR":
usage = VertexElementUsage.TessellateFactor;
return true;
default:
usage = 0;
return false;
}
}
public static string Weights()
{
return Weights(0);
}
public static string Weights(int usageIndex)
{
return EncodeName("BLENDWEIGHT", usageIndex);
}
}
}

View File

@ -16,6 +16,6 @@ namespace ANX.Framework.Content.Pipeline
{
Type InputType { get; }
Type OutputType { get; }
Object Process(Object input, ContextProcessorContext context);
Object Process(Object input, ContentProcessorContext context);
}
}

View File

@ -0,0 +1,36 @@
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ANX.Framework.Content.Pipeline.Graphics;
#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.Content.Pipeline.Processors
{
[ContentProcessor]
public class EffectProcessor : ContentProcessor<EffectContent, CompiledEffectContent>
{
public virtual EffectProcessorDebugMode DebugMode
{
get;
set;
}
public virtual string Defines
{
get;
set;
}
public override CompiledEffectContent Process(EffectContent input, ContentProcessorContext context)
{
throw new NotImplementedException();
}
}
}

View File

@ -0,0 +1,21 @@
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
#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.Content.Pipeline.Processors
{
public enum EffectProcessorDebugMode
{
Auto,
Debug,
Optimize,
}
}

View File

@ -0,0 +1,25 @@
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ANX.Framework.Content.Pipeline.Graphics;
#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.Content.Pipeline.Processors
{
[ContentProcessor]
public class FontDescriptionProcessor : ContentProcessor<FontDescription, SpriteFontContent>
{
public override SpriteFontContent Process(FontDescription input, ContentProcessorContext context)
{
throw new NotImplementedException();
}
}
}

View File

@ -0,0 +1,49 @@
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ANX.Framework.Content.Pipeline.Graphics;
using System.ComponentModel;
#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.Content.Pipeline.Processors
{
[ContentProcessor]
public class FontTextureProcessor : ContentProcessor<Texture2DContent, SpriteFontContent>
{
public virtual char FirstCharacter
{
get;
set;
}
[DefaultValue(true)]
public virtual bool PremultiplyAlpha
{
get;
set;
}
public virtual TextureProcessorOutputFormat TextureFormat
{
get;
set;
}
public override SpriteFontContent Process(Texture2DContent input, ContentProcessorContext context)
{
throw new NotImplementedException();
}
protected virtual char GetCharacterForIndex(int index)
{
throw new NotImplementedException();
}
}
}

View File

@ -0,0 +1,44 @@
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ANX.Framework.Content.Pipeline.Graphics;
using System.ComponentModel;
#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.Content.Pipeline.Processors
{
[ContentProcessor]
public class MaterialProcessor : ContentProcessor<MaterialContent, MaterialContent>
{
public virtual Color ColorKeyColor { get; set; }
public virtual bool ColorKeyEnabled { get; set; }
public virtual MaterialProcessorDefaultEffect DefaultEffect { get; set; }
public virtual bool GenerateMipmaps { get; set; }
[DefaultValue(true)]
public virtual bool PremultiplyTextureAlpha { get; set; }
public virtual bool ResizeTexturesToPowerOfTwo { get; set; }
public virtual TextureProcessorOutputFormat TextureFormat { get; set; }
public override MaterialContent Process(MaterialContent input, ContentProcessorContext context)
{
throw new NotImplementedException();
}
protected virtual ExternalReference<CompiledEffectContent> BuildEffect(ExternalReference<EffectContent> effect, ContentProcessorContext context)
{
throw new NotImplementedException();
}
protected virtual ExternalReference<TextureContent> BuildTexture(string textureName, ExternalReference<TextureContent> texture, ContentProcessorContext context)
{
throw new NotImplementedException();
}
}
}

View File

@ -0,0 +1,20 @@
#region Using Statements
using System;
#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.Content.Pipeline.Processors
{
public enum MaterialProcessorDefaultEffect
{
AlphaTestEffect,
BasicEffect,
DualTextureEffect,
EnvironmentMapEffect,
SkinnedEffect,
}
}

View File

@ -0,0 +1,51 @@
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
#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.Content.Pipeline.Processors
{
public sealed class ModelBoneContent
{
public ModelBoneContentCollection Children { get; set; }
public int Index
{
get
{
throw new NotImplementedException();
}
}
public string Name
{
get
{
throw new NotImplementedException();
}
}
public ModelBoneContent Parent
{
get
{
throw new NotImplementedException();
}
}
public Matrix Transform
{
get
{
throw new NotImplementedException();
}
}
}
}

View File

@ -0,0 +1,23 @@
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.ObjectModel;
#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.Content.Pipeline.Processors
{
public sealed class ModelBoneContentCollection : ReadOnlyCollection<ModelBoneContent>
{
public ModelBoneContentCollection(IList<ModelBoneContent> content)
: base(content)
{
}
}
}

View File

@ -0,0 +1,41 @@
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
#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.Content.Pipeline.Processors
{
public sealed class ModelContent
{
public ModelBoneContentCollection Bones
{
get;
private set;
}
public ModelMeshContentCollection Meshes
{
get;
private set;
}
public ModelBoneContent Root
{
get;
private set;
}
public Object Tag
{
get;
set;
}
}
}

View File

@ -0,0 +1,53 @@
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
#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.Content.Pipeline.Processors
{
public sealed class ModelMeshContent
{
public BoundingSphere BoundingSphere
{
get;
internal set;
}
public ModelMeshPartContentCollection MeshParts
{
get;
internal set;
}
public string Name
{
get;
internal set;
}
public ModelBoneContent ParentBone
{
get;
internal set;
}
public ModelMeshContent SourceMesh
{
get;
internal set;
}
public Object Tag
{
get;
set;
}
}
}

View File

@ -0,0 +1,23 @@
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.ObjectModel;
#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.Content.Pipeline.Processors
{
public sealed class ModelMeshContentCollection : ReadOnlyCollection<ModelMeshContent>
{
public ModelMeshContentCollection(IList<ModelMeshContent> content)
: base(content)
{
}
}
}

View File

@ -0,0 +1,65 @@
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ANX.Framework.Content.Pipeline.Graphics;
#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.Content.Pipeline.Processors
{
public sealed class ModelMeshPartContent
{
public IndexCollection IndexBuffer
{
get;
internal set;
}
public MaterialContent Material
{
get;
set;
}
public int NumVertices
{
get;
internal set;
}
public int PrimitiveCount
{
get;
internal set;
}
public int StartIndex
{
get;
internal set;
}
public Object Tag
{
get;
set;
}
public VertexBufferContent VertexBuffer
{
get;
internal set;
}
public int VertexOffset
{
get;
internal set;
}
}
}

View File

@ -0,0 +1,23 @@
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.ObjectModel;
#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.Content.Pipeline.Processors
{
public sealed class ModelMeshPartContentCollection : ReadOnlyCollection<ModelMeshPartContent>
{
public ModelMeshPartContentCollection(IList<ModelMeshPartContent> content)
: base(content)
{
}
}
}

View File

@ -0,0 +1,56 @@
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ANX.Framework.Content.Pipeline.Graphics;
using System.ComponentModel;
#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.Content.Pipeline.Processors
{
public class ModelProcessor : ContentProcessor<NodeContent, ModelContent>
{
public virtual Color ColorKeyColor { get; set; }
public virtual bool ColorKeyEnabled { get; set; }
public virtual MaterialProcessorDefaultEffect DefaultEffect { get; set; }
public virtual bool GenerateMipmaps { get; set; }
public virtual bool GenerateTangentFrames { get; set; }
[DefaultValue(true)]
public virtual bool PremultiplyTextureAlpha { get; set; }
[DefaultValue(true)]
public virtual bool PremultiplyVertexColors { get; set; }
public virtual bool ResizeTexturesToPowerOfTwo { get; set; }
public virtual float RotationX { get; set; }
public virtual float RotationY { get; set; }
public virtual float RotationZ { get; set; }
public virtual float Scale { get; set; }
public virtual bool SwapWindingOrder { get; set; }
public virtual TextureProcessorOutputFormat TextureFormat { get; set; }
public override ModelContent Process(NodeContent input, ContentProcessorContext context)
{
throw new NotImplementedException();
}
protected virtual MaterialContent ConvertMaterial(MaterialContent material, ContentProcessorContext context)
{
throw new NotImplementedException();
}
protected virtual void ProcessGeometryUsingMaterial(MaterialContent material, IEnumerable<GeometryContent> geometryContent, ContentProcessorContext context)
{
throw new NotImplementedException();
}
protected virtual void ProcessVertexChannel(GeometryContent geometry, int vertexChannelIndex, ContentProcessorContext context)
{
throw new NotImplementedException();
}
}
}

View File

@ -0,0 +1,26 @@
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
#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.Content.Pipeline.Processors
{
[ContentProcessor]
public class ModelTextureProcessor : TextureProcessor
{
public override Color ColorKeyColor { get; set; }
public override bool ColorKeyEnabled { get; set; }
public override bool GenerateMipmaps { get; set; }
public override bool ResizeToPowerOfTwo { get; set; }
public override TextureProcessorOutputFormat TextureFormat { get; set; }
}
}

View File

@ -0,0 +1,23 @@
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
#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.Content.Pipeline.Processors
{
[ContentProcessor]
public class PassThroughProcessor : ContentProcessor<Object, Object>
{
public override object Process(object input, ContentProcessorContext context)
{
return input;
}
}
}

View File

@ -0,0 +1,19 @@
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
#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.Content.Pipeline.Processors
{
public sealed class SongContent
{
}
}

View File

@ -0,0 +1,30 @@
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ANX.Framework.Content.Pipeline.Audio;
#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.Content.Pipeline.Processors
{
[ContentProcessor]
public class SongProcessor : ContentProcessor<AudioContent, SongContent>
{
public ConversionQuality Quality
{
get;
set;
}
public override SongContent Process(AudioContent input, ContentProcessorContext context)
{
throw new NotImplementedException();
}
}
}

View File

@ -0,0 +1,18 @@
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
#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.Content.Pipeline.Processors
{
public sealed class SoundEffectContent
{
}
}

View File

@ -0,0 +1,30 @@
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ANX.Framework.Content.Pipeline.Audio;
#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.Content.Pipeline.Processors
{
[ContentProcessor]
public class SoundEffectProcessor : ContentProcessor<AudioContent, SoundEffectContent>
{
public ConversionQuality Quality
{
get;
set;
}
public override SoundEffectContent Process(AudioContent input, ContentProcessorContext context)
{
throw new NotImplementedException();
}
}
}

View File

@ -0,0 +1,19 @@
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
#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.Content.Pipeline.Processors
{
public sealed class SpriteFontContent
{
}
}

View File

@ -0,0 +1,32 @@
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using ANX.Framework.Content.Pipeline.Graphics;
#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.Content.Pipeline.Processors
{
[ContentProcessor]
public class SpriteTextureProcessor : TextureProcessor
{
public override Color ColorKeyColor { get; set; }
public override bool ColorKeyEnabled { get; set; }
public override bool GenerateMipmaps { get; set; }
[Browsable(false)]
public override bool ResizeToPowerOfTwo { get; set; }
public override TextureProcessorOutputFormat TextureFormat { get; set; }
public override TextureContent Process(TextureContent input, ContentProcessorContext context)
{
throw new NotImplementedException();
}
}
}

View File

@ -0,0 +1,33 @@
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ANX.Framework.Content.Pipeline.Graphics;
using System.ComponentModel;
#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.Content.Pipeline.Processors
{
[ContentProcessor]
public class TextureProcessor : ContentProcessor<TextureContent, TextureContent>
{
public virtual Color ColorKeyColor { get; set; }
public virtual bool ColorKeyEnabled { get; set; }
public virtual bool GenerateMipmaps { get; set; }
[DefaultValue(true)]
public virtual bool PremultiplyAlpha { get; set; }
public virtual bool ResizeToPowerOfTwo { get; set; }
public virtual TextureProcessorOutputFormat TextureFormat { get; set; }
public override TextureContent Process(TextureContent input, ContentProcessorContext context)
{
throw new NotImplementedException();
}
}
}

View File

@ -0,0 +1,18 @@
#region Using Statements
using System;
#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.Content.Pipeline.Processors
{
public enum TextureProcessorOutputFormat
{
Color,
DxtCompressed,
NoChange,
}
}

View File

@ -0,0 +1,26 @@
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ANX.Framework.Media;
#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.Content.Pipeline.Processors
{
[ContentProcessor]
public class VideoProcessor : ContentProcessor<VideoContent, VideoContent>
{
public VideoSoundtrackType VideoSoundtrackType { get; set; }
public override VideoContent Process(VideoContent input, ContentProcessorContext context)
{
throw new NotImplementedException();
}
}
}

View File

@ -0,0 +1,33 @@
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ANX.Framework.Media;
#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.Content.Pipeline
{
public class VideoContent : ContentItem, IDisposable
{
public int BitsPerSecond { get; internal set; }
public TimeSpan Duration { get; internal set; }
[ContentSerializer]
public string Filename { get; set; }
public float FramesPerSecond { get; internal set; }
public int Height { get; internal set; }
[ContentSerializer]
public VideoSoundtrackType VideoSoundtrackType { get; set; }
public int Width { get; internal set; }
public void Dispose()
{
throw new NotImplementedException();
}
}
}