From 44b03c5be6874fc85125312bcb8879c28517f731 Mon Sep 17 00:00:00 2001 From: Glatzemann Date: Thu, 16 Aug 2012 14:18:21 +0000 Subject: [PATCH] ...more ContentItems for ContentPipeline... --- .../ANX.Framework.Content.Pipeline.csproj | 17 ++ .../Graphics/EnvironmentMapMaterialContent.cs | 78 ++++++++ .../Graphics/FontDescription.cs | 86 +++++++++ .../Graphics/FontDescriptionStyle.cs | 21 +++ .../Graphics/GeometryContent.cs | 45 +++++ .../Graphics/GeometryContentCollection.cs | 33 ++++ .../Graphics/IndexCollection.cs | 27 +++ .../Graphics/IndirectPositionCollection.cs | 91 +++++++++ .../Graphics/MeshBuilder.cs | 68 +++++++ .../Graphics/MeshContent.cs | 33 ++++ .../Graphics/MeshHelper.cs | 67 +++++++ .../Graphics/PixelBitmapContent.cs | 73 ++++++++ .../Graphics/PositionCollection.cs | 25 +++ .../Graphics/VertexChannel.cs | 177 ++++++++++++++++++ .../Graphics/VertexChannelCollection.cs | 90 +++++++++ .../Graphics/VertexContent.cs | 77 ++++++++ .../Processors/CompiledEffectContent.cs | 24 ++- .../Processors/VertexBufferContent.cs | 57 ++++++ .../Processors/VertexDeclarationContent.cs | 36 ++++ 19 files changed, 1120 insertions(+), 5 deletions(-) create mode 100644 ANX.Framework.Content.Pipeline/Graphics/EnvironmentMapMaterialContent.cs create mode 100644 ANX.Framework.Content.Pipeline/Graphics/FontDescription.cs create mode 100644 ANX.Framework.Content.Pipeline/Graphics/FontDescriptionStyle.cs create mode 100644 ANX.Framework.Content.Pipeline/Graphics/GeometryContent.cs create mode 100644 ANX.Framework.Content.Pipeline/Graphics/GeometryContentCollection.cs create mode 100644 ANX.Framework.Content.Pipeline/Graphics/IndexCollection.cs create mode 100644 ANX.Framework.Content.Pipeline/Graphics/IndirectPositionCollection.cs create mode 100644 ANX.Framework.Content.Pipeline/Graphics/MeshBuilder.cs create mode 100644 ANX.Framework.Content.Pipeline/Graphics/MeshContent.cs create mode 100644 ANX.Framework.Content.Pipeline/Graphics/MeshHelper.cs create mode 100644 ANX.Framework.Content.Pipeline/Graphics/PixelBitmapContent.cs create mode 100644 ANX.Framework.Content.Pipeline/Graphics/PositionCollection.cs create mode 100644 ANX.Framework.Content.Pipeline/Graphics/VertexChannel.cs create mode 100644 ANX.Framework.Content.Pipeline/Graphics/VertexChannelCollection.cs create mode 100644 ANX.Framework.Content.Pipeline/Graphics/VertexContent.cs create mode 100644 ANX.Framework.Content.Pipeline/Processors/VertexBufferContent.cs create mode 100644 ANX.Framework.Content.Pipeline/Processors/VertexDeclarationContent.cs diff --git a/ANX.Framework.Content.Pipeline/ANX.Framework.Content.Pipeline.csproj b/ANX.Framework.Content.Pipeline/ANX.Framework.Content.Pipeline.csproj index 3fb44431..ef93e132 100644 --- a/ANX.Framework.Content.Pipeline/ANX.Framework.Content.Pipeline.csproj +++ b/ANX.Framework.Content.Pipeline/ANX.Framework.Content.Pipeline.csproj @@ -65,18 +65,35 @@ + + + + + + + + + + + + + + + + + diff --git a/ANX.Framework.Content.Pipeline/Graphics/EnvironmentMapMaterialContent.cs b/ANX.Framework.Content.Pipeline/Graphics/EnvironmentMapMaterialContent.cs new file mode 100644 index 00000000..40cedb43 --- /dev/null +++ b/ANX.Framework.Content.Pipeline/Graphics/EnvironmentMapMaterialContent.cs @@ -0,0 +1,78 @@ +#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 EnvironmentMapMaterialContent : MaterialContent + { + public const string AlphaKey = ""; + public const string DiffuseColorKey = ""; + public const string EmissiveColorKey = ""; + public const string EnvironmentMapAmountKey = ""; + public const string EnvironmentMapKey = ""; + public const string EnvironmentMapSpecularKey = ""; + public const string FresnelFactorKey = ""; + public const string TextureKey = ""; + + public EnvironmentMapMaterialContent() + { + } + + public Nullable Alpha + { + get; + set; + } + + public Nullable DiffuseColor + { + get; + set; + } + + public Nullable EmissiveColor + { + get; + set; + } + + public ExternalReference EnvironmentMap + { + get; + set; + } + + public Nullable EnvironmentMapAmount + { + get; + set; + } + + public Nullable EnvironmentMapSpecular + { + get; + set; + } + + public Nullable FresnelFactor + { + get; + set; + } + + public ExternalReference Texture + { + get; + set; + } + } +} diff --git a/ANX.Framework.Content.Pipeline/Graphics/FontDescription.cs b/ANX.Framework.Content.Pipeline/Graphics/FontDescription.cs new file mode 100644 index 00000000..251557f8 --- /dev/null +++ b/ANX.Framework.Content.Pipeline/Graphics/FontDescription.cs @@ -0,0 +1,86 @@ +#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 FontDescription : ContentItem + { + public FontDescription(string fontName, float size, float spacing) + { + FontName = fontName; + Size = size; + Spacing = spacing; + } + + public FontDescription(string fontName, float size, float spacing, FontDescriptionStyle fontStyle) + { + FontName = fontName; + Size = size; + Spacing = spacing; + Style = fontStyle; + } + + public FontDescription(string fontName, float size, float spacing, FontDescriptionStyle fontStyle, bool useKerning) + { + FontName = fontName; + Size = size; + Spacing = spacing; + Style = fontStyle; + UseKerning = useKerning; + } + + [ContentSerializerIgnoreAttribute] + public ICollection Characters + { + get; + private set; + } + + [ContentSerializerAttribute] + public Nullable DefaultCharacter + { + get; + set; + } + + public string FontName + { + get; + set; + } + + public float Size + { + get; + set; + } + + public float Spacing + { + get; + set; + } + + public FontDescriptionStyle Style + { + get; + set; + } + + [ContentSerializerAttribute] + public bool UseKerning + { + get; + set; + } + } +} diff --git a/ANX.Framework.Content.Pipeline/Graphics/FontDescriptionStyle.cs b/ANX.Framework.Content.Pipeline/Graphics/FontDescriptionStyle.cs new file mode 100644 index 00000000..f6428c43 --- /dev/null +++ b/ANX.Framework.Content.Pipeline/Graphics/FontDescriptionStyle.cs @@ -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.Graphics +{ + public enum FontDescriptionStyle + { + Bold, + Italic, + Regular, + } +} diff --git a/ANX.Framework.Content.Pipeline/Graphics/GeometryContent.cs b/ANX.Framework.Content.Pipeline/Graphics/GeometryContent.cs new file mode 100644 index 00000000..b43d44d1 --- /dev/null +++ b/ANX.Framework.Content.Pipeline/Graphics/GeometryContent.cs @@ -0,0 +1,45 @@ +#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 GeometryContent : ContentItem + { + public GeometryContent() + { + } + + public IndexCollection Indices + { + get; + private set; + } + + public MaterialContent Material + { + get; + set; + } + + public MeshContent Parent + { + get; + set; + } + + public VertexContent Vertices + { + get; + private set; + } + } +} diff --git a/ANX.Framework.Content.Pipeline/Graphics/GeometryContentCollection.cs b/ANX.Framework.Content.Pipeline/Graphics/GeometryContentCollection.cs new file mode 100644 index 00000000..be624ea8 --- /dev/null +++ b/ANX.Framework.Content.Pipeline/Graphics/GeometryContentCollection.cs @@ -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 sealed class GeometryContentCollection : ChildCollection + { + protected GeometryContentCollection(MeshContent parent) + : base(parent) + { + throw new NotImplementedException(); + } + + protected override MeshContent GetParent(GeometryContent child) + { + throw new NotImplementedException(); + } + + protected override void SetParent(GeometryContent child, MeshContent parent) + { + throw new NotImplementedException(); + } + } +} diff --git a/ANX.Framework.Content.Pipeline/Graphics/IndexCollection.cs b/ANX.Framework.Content.Pipeline/Graphics/IndexCollection.cs new file mode 100644 index 00000000..c45a2c76 --- /dev/null +++ b/ANX.Framework.Content.Pipeline/Graphics/IndexCollection.cs @@ -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.Graphics +{ + public sealed class IndexCollection : Collection + { + public IndexCollection() + { + } + + public void AddRange(IEnumerable indices) + { + throw new NotImplementedException(); + } + } +} diff --git a/ANX.Framework.Content.Pipeline/Graphics/IndirectPositionCollection.cs b/ANX.Framework.Content.Pipeline/Graphics/IndirectPositionCollection.cs new file mode 100644 index 00000000..c5c8eaea --- /dev/null +++ b/ANX.Framework.Content.Pipeline/Graphics/IndirectPositionCollection.cs @@ -0,0 +1,91 @@ +#region Using Statements +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Collections; + +#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 sealed class IndirectPositionCollection : IList, ICollection, IEnumerable, IEnumerable + { + + int IList.IndexOf(Vector3 item) + { + throw new NotImplementedException(); + } + + void IList.Insert(int index, Vector3 item) + { + throw new NotImplementedException(); + } + + void IList.RemoveAt(int index) + { + throw new NotImplementedException(); + } + + Vector3 IList.this[int index] + { + get + { + throw new NotImplementedException(); + } + set + { + throw new NotImplementedException(); + } + } + + void ICollection.Add(Vector3 item) + { + throw new NotImplementedException(); + } + + void ICollection.Clear() + { + throw new NotImplementedException(); + } + + bool ICollection.Contains(Vector3 item) + { + throw new NotImplementedException(); + } + + void ICollection.CopyTo(Vector3[] array, int arrayIndex) + { + throw new NotImplementedException(); + } + + int ICollection.Count + { + get { throw new NotImplementedException(); } + } + + bool ICollection.IsReadOnly + { + get { throw new NotImplementedException(); } + } + + bool ICollection.Remove(Vector3 item) + { + throw new NotImplementedException(); + } + + IEnumerator IEnumerable.GetEnumerator() + { + throw new NotImplementedException(); + } + + IEnumerator IEnumerable.GetEnumerator() + { + throw new NotImplementedException(); + } + } +} diff --git a/ANX.Framework.Content.Pipeline/Graphics/MeshBuilder.cs b/ANX.Framework.Content.Pipeline/Graphics/MeshBuilder.cs new file mode 100644 index 00000000..f5220ec4 --- /dev/null +++ b/ANX.Framework.Content.Pipeline/Graphics/MeshBuilder.cs @@ -0,0 +1,68 @@ +#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 sealed class MeshBuilder + { + + public bool MergeDuplicatePositions { get; set; } + public float MergePositionTolerance { get; set; } + public string Name { get; set; } + public bool SwapWindingOrder { get; set; } + + public void AddTriangleVertex(int indexIntoVertexCollection) + { + throw new NotImplementedException(); + } + + public int CreatePosition(float x, float y, float z) + { + return CreatePosition(new Vector3(x, y, z)); + } + + public int CreatePosition(Vector3 pos) + { + throw new NotImplementedException(); + } + + public int CreateVertexChannel(string usage) + { + throw new NotImplementedException(); + } + + public MeshContent FinishMesh() + { + throw new NotImplementedException(); + } + + public void SetMaterial(MaterialContent material) + { + throw new NotImplementedException(); + } + + public void SetOpaqueData(OpaqueDataDictionary opaqueData) + { + throw new NotImplementedException(); + } + + public void SetVertexChannelData(int vertexDataIndex, Object channelData) + { + throw new NotImplementedException(); + } + + public static MeshBuilder StartMesh(string name) + { + throw new NotImplementedException(); + } + } +} diff --git a/ANX.Framework.Content.Pipeline/Graphics/MeshContent.cs b/ANX.Framework.Content.Pipeline/Graphics/MeshContent.cs new file mode 100644 index 00000000..66b89f18 --- /dev/null +++ b/ANX.Framework.Content.Pipeline/Graphics/MeshContent.cs @@ -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 MeshContent : NodeContent + { + public MeshContent() + { + } + + public GeometryContentCollection Geometry + { + get; + private set; + } + + public PositionCollection Positions + { + get; + private set; + } + } +} diff --git a/ANX.Framework.Content.Pipeline/Graphics/MeshHelper.cs b/ANX.Framework.Content.Pipeline/Graphics/MeshHelper.cs new file mode 100644 index 00000000..f1a5c18c --- /dev/null +++ b/ANX.Framework.Content.Pipeline/Graphics/MeshHelper.cs @@ -0,0 +1,67 @@ +#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 static class MeshHelper + { + public static void CalculateNormals(MeshContent mesh, bool overwriteExistingNormals) + { + throw new NotImplementedException(); + } + + public static void CalculateTangentFrames(MeshContent mesh, string textureCoordinateChannelName, string tangentChannelName, string binormalChannelName) + { + throw new NotImplementedException(); + } + + public static BoneContent FindSkeleton(NodeContent node) + { + throw new NotImplementedException(); + } + + public static IList FlattenSkeleton(BoneContent skeleton) + { + throw new NotImplementedException(); + } + + public static void MergeDuplicatePositions(MeshContent mesh, float tolerance) + { + throw new NotImplementedException(); + } + + public static void MergeDuplicateVertices(GeometryContent geometry) + { + throw new NotImplementedException(); + } + + public static void MergeDuplicateVertices(MeshContent mesh) + { + throw new NotImplementedException(); + } + + public static void OptimizeForCache(MeshContent mesh) + { + throw new NotImplementedException(); + } + + public static void SwapWindingOrder(MeshContent mesh) + { + throw new NotImplementedException(); + } + + public static void TransformScene(NodeContent scene, Matrix transform) + { + throw new NotImplementedException(); + } + } +} diff --git a/ANX.Framework.Content.Pipeline/Graphics/PixelBitmapContent.cs b/ANX.Framework.Content.Pipeline/Graphics/PixelBitmapContent.cs new file mode 100644 index 00000000..f57e8ddf --- /dev/null +++ b/ANX.Framework.Content.Pipeline/Graphics/PixelBitmapContent.cs @@ -0,0 +1,73 @@ +#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 PixelBitmapContent : BitmapContent where T : struct, IEquatable + { + protected PixelBitmapContent() + { + + } + + public PixelBitmapContent(int width, int height) + : base(width, height) + { + + } + + public T GetPixel(int x, int y) + { + throw new NotImplementedException(); + } + + public override byte[] GetPixelData() + { + throw new NotImplementedException(); + } + + public T[] GetRow(int y) + { + throw new NotImplementedException(); + } + + public void SetPixel(int x, int y, T value) + { + throw new NotImplementedException(); + } + + public override void SetPixelData(byte[] sourceData) + { + throw new NotImplementedException(); + } + + public override string ToString() + { + throw new NotImplementedException(); + } + + protected override bool TryCopyFrom(BitmapContent sourceBitmap, Rectangle sourceRegion, Rectangle destinationRegion) + { + throw new NotImplementedException(); + } + + protected override bool TryCopyTo(BitmapContent destinationBitmap, Rectangle sourceRegion, Rectangle destinationRegion) + { + throw new NotImplementedException(); + } + + public override bool TryGetFormat(out Framework.Graphics.SurfaceFormat format) + { + throw new NotImplementedException(); + } + } +} diff --git a/ANX.Framework.Content.Pipeline/Graphics/PositionCollection.cs b/ANX.Framework.Content.Pipeline/Graphics/PositionCollection.cs new file mode 100644 index 00000000..c256ffe2 --- /dev/null +++ b/ANX.Framework.Content.Pipeline/Graphics/PositionCollection.cs @@ -0,0 +1,25 @@ +#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.Graphics +{ + public sealed class PositionCollection : Collection + { + public PositionCollection() + { + + } + + + } +} diff --git a/ANX.Framework.Content.Pipeline/Graphics/VertexChannel.cs b/ANX.Framework.Content.Pipeline/Graphics/VertexChannel.cs new file mode 100644 index 00000000..4b979d9e --- /dev/null +++ b/ANX.Framework.Content.Pipeline/Graphics/VertexChannel.cs @@ -0,0 +1,177 @@ +#region Using Statements +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Collections; + +#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 abstract class VertexChannel : IList, ICollection, IEnumerable + { + + int IList.Add(object value) + { + throw new NotImplementedException(); + } + + void IList.Clear() + { + throw new NotImplementedException(); + } + + bool IList.Contains(object value) + { + throw new NotImplementedException(); + } + + int IList.IndexOf(object value) + { + throw new NotImplementedException(); + } + + void IList.Insert(int index, object value) + { + throw new NotImplementedException(); + } + + bool IList.IsFixedSize + { + get { throw new NotImplementedException(); } + } + + bool IList.IsReadOnly + { + get { throw new NotImplementedException(); } + } + + void IList.Remove(object value) + { + throw new NotImplementedException(); + } + + void IList.RemoveAt(int index) + { + throw new NotImplementedException(); + } + + object IList.this[int index] + { + get + { + throw new NotImplementedException(); + } + set + { + throw new NotImplementedException(); + } + } + + void ICollection.CopyTo(Array array, int index) + { + throw new NotImplementedException(); + } + + int ICollection.Count + { + get { throw new NotImplementedException(); } + } + + bool ICollection.IsSynchronized + { + get { throw new NotImplementedException(); } + } + + object ICollection.SyncRoot + { + get { throw new NotImplementedException(); } + } + + IEnumerator IEnumerable.GetEnumerator() + { + throw new NotImplementedException(); + } + } + + public sealed class VertexChannel : VertexChannel, IList, ICollection, IEnumerable, IEnumerable + { + + int IList.IndexOf(T item) + { + throw new NotImplementedException(); + } + + void IList.Insert(int index, T item) + { + throw new NotImplementedException(); + } + + void IList.RemoveAt(int index) + { + throw new NotImplementedException(); + } + + T IList.this[int index] + { + get + { + throw new NotImplementedException(); + } + set + { + throw new NotImplementedException(); + } + } + + void ICollection.Add(T item) + { + throw new NotImplementedException(); + } + + void ICollection.Clear() + { + throw new NotImplementedException(); + } + + bool ICollection.Contains(T item) + { + throw new NotImplementedException(); + } + + void ICollection.CopyTo(T[] array, int arrayIndex) + { + throw new NotImplementedException(); + } + + int ICollection.Count + { + get { throw new NotImplementedException(); } + } + + bool ICollection.IsReadOnly + { + get { throw new NotImplementedException(); } + } + + bool ICollection.Remove(T item) + { + throw new NotImplementedException(); + } + + IEnumerator IEnumerable.GetEnumerator() + { + throw new NotImplementedException(); + } + + IEnumerator IEnumerable.GetEnumerator() + { + throw new NotImplementedException(); + } + } +} diff --git a/ANX.Framework.Content.Pipeline/Graphics/VertexChannelCollection.cs b/ANX.Framework.Content.Pipeline/Graphics/VertexChannelCollection.cs new file mode 100644 index 00000000..67c059f1 --- /dev/null +++ b/ANX.Framework.Content.Pipeline/Graphics/VertexChannelCollection.cs @@ -0,0 +1,90 @@ +#region Using Statements +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Collections; + +#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 sealed class VertexChannelCollection : IList, ICollection, IEnumerable, IEnumerable + { + int IList.IndexOf(VertexChannel item) + { + throw new NotImplementedException(); + } + + void IList.Insert(int index, VertexChannel item) + { + throw new NotImplementedException(); + } + + void IList.RemoveAt(int index) + { + throw new NotImplementedException(); + } + + VertexChannel IList.this[int index] + { + get + { + throw new NotImplementedException(); + } + set + { + throw new NotImplementedException(); + } + } + + void ICollection.Add(VertexChannel item) + { + throw new NotImplementedException(); + } + + void ICollection.Clear() + { + throw new NotImplementedException(); + } + + bool ICollection.Contains(VertexChannel item) + { + throw new NotImplementedException(); + } + + void ICollection.CopyTo(VertexChannel[] array, int arrayIndex) + { + throw new NotImplementedException(); + } + + int ICollection.Count + { + get { throw new NotImplementedException(); } + } + + bool ICollection.IsReadOnly + { + get { throw new NotImplementedException(); } + } + + bool ICollection.Remove(VertexChannel item) + { + throw new NotImplementedException(); + } + + IEnumerator IEnumerable.GetEnumerator() + { + throw new NotImplementedException(); + } + + IEnumerator IEnumerable.GetEnumerator() + { + throw new NotImplementedException(); + } + } +} diff --git a/ANX.Framework.Content.Pipeline/Graphics/VertexContent.cs b/ANX.Framework.Content.Pipeline/Graphics/VertexContent.cs new file mode 100644 index 00000000..c9bcf0ea --- /dev/null +++ b/ANX.Framework.Content.Pipeline/Graphics/VertexContent.cs @@ -0,0 +1,77 @@ +#region Using Statements +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using ANX.Framework.Content.Pipeline.Processors; + +#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 sealed class VertexContent + { + public VertexChannelCollection Channels + { + get; + private set; + } + + public VertexChannel PositionIndices + { + get; + private set; + } + + public IndirectPositionCollection Positions + { + get; + private set; + } + + public int VertexCount + { + get; + private set; + } + + public int Add(int positionIndex) + { + throw new NotImplementedException(); + } + + public void AddRange(IEnumerable positionIndexCollection) + { + throw new NotImplementedException(); + } + + public VertexBufferContent CreateVertexBuffer() + { + throw new NotImplementedException(); + } + + public void Insert(int index, int positionIndex) + { + throw new NotImplementedException(); + } + + public void InsertRange(int index, IEnumerable positionIndexCollection) + { + throw new NotImplementedException(); + } + + public void RemoveAt(int index) + { + throw new NotImplementedException(); + } + + public void RemoveRange(int index, int count) + { + throw new NotImplementedException(); + } + } +} diff --git a/ANX.Framework.Content.Pipeline/Processors/CompiledEffectContent.cs b/ANX.Framework.Content.Pipeline/Processors/CompiledEffectContent.cs index b617fd54..510255d2 100644 --- a/ANX.Framework.Content.Pipeline/Processors/CompiledEffectContent.cs +++ b/ANX.Framework.Content.Pipeline/Processors/CompiledEffectContent.cs @@ -1,15 +1,29 @@ -using System; +#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 -using System.Text; namespace ANX.Framework.Content.Pipeline.Processors { - public class CompiledEffectContent - { - } + public class CompiledEffectContent : ContentItem + { + private byte[] effectCode; + + public CompiledEffectContent(byte[] effectCode) + { + this.effectCode = effectCode; + } + + public byte[] GetEffectCode() + { + return effectCode; + } + } } diff --git a/ANX.Framework.Content.Pipeline/Processors/VertexBufferContent.cs b/ANX.Framework.Content.Pipeline/Processors/VertexBufferContent.cs new file mode 100644 index 00000000..4cc3162c --- /dev/null +++ b/ANX.Framework.Content.Pipeline/Processors/VertexBufferContent.cs @@ -0,0 +1,57 @@ +#region Using Statements +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Collections; + +#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 VertexBufferContent : ContentItem + { + public VertexBufferContent() + { + + } + + public VertexBufferContent(int size) + { + throw new NotImplementedException(); + } + + public byte[] VertexData + { + get; + private set; + } + + public VertexDeclarationContent VertexDeclaration + { + get; + set; + } + + public static int SizeOf(Type type) + { + throw new NotImplementedException(); + } + + public void Write(int offset, int stride, IEnumerable data) + { + throw new NotImplementedException(); + } + + public void Write(int offset, int stride, Type dataType, IEnumerable data) + { + throw new NotImplementedException(); + } + + + } +} diff --git a/ANX.Framework.Content.Pipeline/Processors/VertexDeclarationContent.cs b/ANX.Framework.Content.Pipeline/Processors/VertexDeclarationContent.cs new file mode 100644 index 00000000..3310dada --- /dev/null +++ b/ANX.Framework.Content.Pipeline/Processors/VertexDeclarationContent.cs @@ -0,0 +1,36 @@ +#region Using Statements +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Collections.ObjectModel; +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.Processors +{ + public class VertexDeclarationContent : ContentItem + { + public VertexDeclarationContent() + { + + } + + public Collection VertexElements + { + get; + private set; + } + + public Nullable VertexStride + { + get; + set; + } + } +}