diff --git a/ANX.Framework.Content.Pipeline/ANX.Framework.Content.Pipeline.csproj b/ANX.Framework.Content.Pipeline/ANX.Framework.Content.Pipeline.csproj new file mode 100644 index 00000000..7918c15f --- /dev/null +++ b/ANX.Framework.Content.Pipeline/ANX.Framework.Content.Pipeline.csproj @@ -0,0 +1,65 @@ + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {2DAFDFC1-223B-4741-87BB-BE3D0A7617DB} + Library + Properties + ANX.Framework.Content.Pipeline + ANX.Framework.Content.Pipeline + v4.0 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + + + {6899F0C9-70B9-4EB0-9DD3-E598D4BE3E35} + ANX.Framework + + + + + \ No newline at end of file diff --git a/ANX.Framework.Content.Pipeline/Properties/AssemblyInfo.cs b/ANX.Framework.Content.Pipeline/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..14bee2a4 --- /dev/null +++ b/ANX.Framework.Content.Pipeline/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Allgemeine Informationen über eine Assembly werden über die folgenden +// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, +// die mit einer Assembly verknüpft sind. +[assembly: AssemblyTitle("ANX.Framework.Content.Pipeline")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("ANX.Framework.Content.Pipeline")] +[assembly: AssemblyCopyright("Copyright © 2012")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Durch Festlegen von ComVisible auf "false" werden die Typen in dieser Assembly unsichtbar +// für COM-Komponenten. Wenn Sie auf einen Typ in dieser Assembly von +// COM zugreifen müssen, legen Sie das ComVisible-Attribut für diesen Typ auf "true" fest. +[assembly: ComVisible(false)] + +// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird +[assembly: Guid("66299823-5093-4fa6-9d95-6f35ac272c61")] + +// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: +// +// Hauptversion +// Nebenversion +// Buildnummer +// Revision +// +// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern +// übernehmen, indem Sie "*" eingeben: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/ANX.Framework.Content.Pipeline/Serialization/Compiler/ContentCompiler.cs b/ANX.Framework.Content.Pipeline/Serialization/Compiler/ContentCompiler.cs new file mode 100644 index 00000000..7fd06b58 --- /dev/null +++ b/ANX.Framework.Content.Pipeline/Serialization/Compiler/ContentCompiler.cs @@ -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.Serialization.Compiler +{ + public sealed class ContentCompiler + { + public ContentTypeWriter GetTypeWriter(Type type) + { + throw new NotImplementedException(); + } + } +} diff --git a/ANX.Framework.Content.Pipeline/Serialization/Compiler/ContentTypeWriter.cs b/ANX.Framework.Content.Pipeline/Serialization/Compiler/ContentTypeWriter.cs new file mode 100644 index 00000000..2b82c6dd --- /dev/null +++ b/ANX.Framework.Content.Pipeline/Serialization/Compiler/ContentTypeWriter.cs @@ -0,0 +1,67 @@ +#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.Serialization.Compiler +{ + public abstract class ContentTypeWriter + { + private bool canDeserializeIntoExistingObject; + private Type targetType; + + protected ContentTypeWriter(Type targetType) + { + this.targetType = targetType; + + throw new NotImplementedException(); + } + + public abstract string GetRuntimeReader(TargetPlatform targetPlatform); + + public virtual string GetRuntimeType(TargetPlatform targetPlatform) + { + throw new NotImplementedException(); + } + + protected virtual void Initialize(ContentCompiler compiler) + { + throw new NotImplementedException(); + } + + protected internal virtual bool ShouldCompressContent(TargetPlatform targetPlatform, Object value) + { + throw new NotImplementedException(); + } + + protected internal abstract void Write(ContentWriter output, Object value); + + public virtual bool CanDeserializeIntoExistingObject + { + get + { + return canDeserializeIntoExistingObject; + } + } + + public Type TargetType + { + get + { + return this.targetType; + } + } + + public virtual int TypeVersion + { + get + { + throw new NotImplementedException(); + } + } + } +} diff --git a/ANX.Framework.Content.Pipeline/Serialization/Compiler/ContentTypeWriterAttribute.cs b/ANX.Framework.Content.Pipeline/Serialization/Compiler/ContentTypeWriterAttribute.cs new file mode 100644 index 00000000..a056c484 --- /dev/null +++ b/ANX.Framework.Content.Pipeline/Serialization/Compiler/ContentTypeWriterAttribute.cs @@ -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.Serialization.Compiler +{ + public class ContentTypeWriterAttribute : Attribute + { + public ContentTypeWriterAttribute() + : base() + { + } + } +} diff --git a/ANX.Framework.Content.Pipeline/Serialization/Compiler/ContentWriter.cs b/ANX.Framework.Content.Pipeline/Serialization/Compiler/ContentWriter.cs new file mode 100644 index 00000000..af5ce050 --- /dev/null +++ b/ANX.Framework.Content.Pipeline/Serialization/Compiler/ContentWriter.cs @@ -0,0 +1,123 @@ +#region Using Statements +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.IO; +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.Serialization.Compiler +{ + public sealed class ContentWriter : BinaryWriter + { + private TargetPlatform targetPlatform; + private GraphicsProfile targetProfile; + + public void Write(Color value) + { + base.Write(value.PackedValue); + } + + public void Write(Matrix value) + { + base.Write(value.M11); + base.Write(value.M12); + base.Write(value.M13); + base.Write(value.M14); + base.Write(value.M21); + base.Write(value.M22); + base.Write(value.M23); + base.Write(value.M24); + base.Write(value.M31); + base.Write(value.M32); + base.Write(value.M33); + base.Write(value.M34); + base.Write(value.M41); + base.Write(value.M42); + base.Write(value.M43); + base.Write(value.M44); + } + + public void Write(Quaternion value) + { + base.Write(value.X); + base.Write(value.Y); + base.Write(value.Z); + base.Write(value.W); + } + + public void Write(Vector2 value) + { + base.Write(value.X); + base.Write(value.Y); + } + + public void Write(Vector3 value) + { + base.Write(value.X); + base.Write(value.Y); + base.Write(value.Z); + } + + public void Write(Vector4 value) + { + base.Write(value.X); + base.Write(value.Y); + base.Write(value.Z); + base.Write(value.W); + } + + //TODO: implement -> ExternalReference needed first + //public void WriteExternalReference(ExternalReference reference) + //{ + + //} + + public void WriteObject(T value) + { + throw new NotImplementedException(); + } + + public void WriteObject(T value, ContentTypeWriter typeWriter) + { + throw new NotImplementedException(); + } + + public void WriteRawObject(T value) + { + throw new NotImplementedException(); + } + + public void WriteRawObject(T value, ContentTypeWriter typeWriter) + { + throw new NotImplementedException(); + } + + public void WriteSharedResource(T value) + { + throw new NotImplementedException(); + } + + public TargetPlatform TargetPlatform + { + get + { + return targetPlatform; + } + } + + public GraphicsProfile TargetProfile + { + get + { + return TargetProfile; + } + } + } +} diff --git a/ANX.Framework.Content.Pipeline/Serialization/Compiler/GenericContentTypeWriter.cs b/ANX.Framework.Content.Pipeline/Serialization/Compiler/GenericContentTypeWriter.cs new file mode 100644 index 00000000..b552ab5b --- /dev/null +++ b/ANX.Framework.Content.Pipeline/Serialization/Compiler/GenericContentTypeWriter.cs @@ -0,0 +1,26 @@ +#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.Serialization.Compiler +{ + public abstract class ContentTypeWriter : ContentTypeWriter + { + protected ContentTypeWriter() + : base(typeof(T)) + { + } + + protected internal override void Write(ContentWriter output, object value) + { + throw new NotImplementedException(); + } + + protected internal abstract void Write(ContentWriter output, T value); + } +} diff --git a/ANX.Framework.Content.Pipeline/TargetPlatform.cs b/ANX.Framework.Content.Pipeline/TargetPlatform.cs new file mode 100644 index 00000000..0cb51577 --- /dev/null +++ b/ANX.Framework.Content.Pipeline/TargetPlatform.cs @@ -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 +{ + public enum TargetPlatform + { + Windows, + WindowsPhone, + XBox360, + } +} diff --git a/ANX.Framework.ContentPipeline/ANX.Framework.ContentPipeline.Extensions.csproj b/ANX.Framework.ContentPipeline/ANX.Framework.ContentPipeline.Extensions.csproj new file mode 100644 index 00000000..495f6a63 --- /dev/null +++ b/ANX.Framework.ContentPipeline/ANX.Framework.ContentPipeline.Extensions.csproj @@ -0,0 +1,103 @@ + + + + {ECBF60CB-1CF0-4F92-8963-E73115B04B43} + Debug + x86 + Library + Properties + ANX.Framework.ContentPipeline + ANX.Framework.ContentPipeline + v4.0 + Windows + v4.0 + + + + + true + full + false + ..\bin\Debug\ + DEBUG;TRACE + prompt + 4 + x86 + + + pdbonly + true + ..\bin\Release\ + TRACE + prompt + 4 + x86 + + + bin\x86\DebugWin8\ + + + bin\x86\ReleaseWin8\ + TRACE + true + pdbonly + x86 + ..\bin\Release\ANX.Framework.ContentPipeline.dll.CodeAnalysisLog.xml + true + GlobalSuppressions.cs + prompt + MinimumRecommendedRules.ruleset + ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets + true + ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules + + + + True + + + + True + + + true + + + + + 4.0 + + + 4.0 + + + + + + + + + + + {6899F0C9-70B9-4EB0-9DD3-E598D4BE3E35} + ANX.Framework + + + {5BE49183-2F6F-4527-AC90-D816911FCF90} + ANX.RenderSystem.Windows.DX10 + + + {EB8258E0-6741-4DB9-B756-1EBDF67B1ED6} + ANX.RenderSystem.Windows.GL3 + + + + + + \ No newline at end of file diff --git a/ANX.Framework.sln b/ANX.Framework.sln index c0f1f72e..16b5e169 100644 --- a/ANX.Framework.sln +++ b/ANX.Framework.sln @@ -4,7 +4,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ANX.Framework", "ANX.Framew EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ANX.Framework.TestCenter", "ANX.Framework.TestCenter\ANX.Framework.TestCenter.csproj", "{7344BBEB-A1C7-43A8-B68E-D42B81973DA9}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ANX.Framework.ContentPipeline", "ANX.Framework.ContentPipeline\ANX.Framework.ContentPipeline.csproj", "{ECBF60CB-1CF0-4F92-8963-E73115B04B43}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ANX.Framework.ContentPipeline.Extensions", "ANX.Framework.ContentPipeline\ANX.Framework.ContentPipeline.Extensions.csproj", "{ECBF60CB-1CF0-4F92-8963-E73115B04B43}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tools", "Tools", "{B24A8593-562A-4A25-BB08-46C163F10F3F}" EndProject @@ -156,6 +156,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ANX.RenderSystem.PsVita", " EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ANX.PlatformSystem.PsVita", "PlatformSystems\ANX.PlatformSystem.PsVita\ANX.PlatformSystem.PsVita.csproj", "{2CF3FE4D-586E-4B07-8BF0-1E84B670F0AD}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ANX.Framework.Content.Pipeline", "ANX.Framework.Content.Pipeline\ANX.Framework.Content.Pipeline.csproj", "{2DAFDFC1-223B-4741-87BB-BE3D0A7617DB}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -584,6 +586,16 @@ Global {2CF3FE4D-586E-4B07-8BF0-1E84B670F0AD}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {2CF3FE4D-586E-4B07-8BF0-1E84B670F0AD}.Release|Mixed Platforms.Build.0 = Release|Any CPU {2CF3FE4D-586E-4B07-8BF0-1E84B670F0AD}.Release|x86.ActiveCfg = Release|Any CPU + {2DAFDFC1-223B-4741-87BB-BE3D0A7617DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2DAFDFC1-223B-4741-87BB-BE3D0A7617DB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2DAFDFC1-223B-4741-87BB-BE3D0A7617DB}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {2DAFDFC1-223B-4741-87BB-BE3D0A7617DB}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {2DAFDFC1-223B-4741-87BB-BE3D0A7617DB}.Debug|x86.ActiveCfg = Debug|Any CPU + {2DAFDFC1-223B-4741-87BB-BE3D0A7617DB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2DAFDFC1-223B-4741-87BB-BE3D0A7617DB}.Release|Any CPU.Build.0 = Release|Any CPU + {2DAFDFC1-223B-4741-87BB-BE3D0A7617DB}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {2DAFDFC1-223B-4741-87BB-BE3D0A7617DB}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {2DAFDFC1-223B-4741-87BB-BE3D0A7617DB}.Release|x86.ActiveCfg = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Samples/KeyboardSample/KeyboardSample.csproj b/Samples/KeyboardSample/KeyboardSample.csproj index 282eece5..e118a307 100644 --- a/Samples/KeyboardSample/KeyboardSample.csproj +++ b/Samples/KeyboardSample/KeyboardSample.csproj @@ -121,7 +121,7 @@ {5BE49183-2F6F-4527-AC90-D816911FCF90} - ANX.Framework.Windows.DX10 + ANX.RenderSystem.Windows.DX10 {6A582788-C4D2-410C-96CD-177F75712D65} diff --git a/Samples/Kinect/Kinect.csproj b/Samples/Kinect/Kinect.csproj index 0ea4f70e..63f19a01 100644 --- a/Samples/Kinect/Kinect.csproj +++ b/Samples/Kinect/Kinect.csproj @@ -149,7 +149,7 @@ {5BE49183-2F6F-4527-AC90-D816911FCF90} - ANX.Framework.Windows.DX10 + ANX.RenderSystem.Windows.DX10 {6A582788-C4D2-410C-96CD-177F75712D65} diff --git a/Samples/ModelSample/ModelSample/ModelSample.csproj b/Samples/ModelSample/ModelSample/ModelSample.csproj index 6c40d975..fdfd73a0 100644 --- a/Samples/ModelSample/ModelSample/ModelSample.csproj +++ b/Samples/ModelSample/ModelSample/ModelSample.csproj @@ -148,11 +148,11 @@ {5BE49183-2F6F-4527-AC90-D816911FCF90} - ANX.Framework.Windows.DX10 + ANX.RenderSystem.Windows.DX10 {EB8258E0-6741-4DB9-B756-1EBDF67B1ED6} - ANX.Framework.Windows.GL3 + ANX.RenderSystem.Windows.GL3 {FA6E229D-4504-47B1-8A23-2D3FCC13F778} diff --git a/Samples/Primitives/Primitives.csproj b/Samples/Primitives/Primitives.csproj index ed83acd6..8962056e 100644 --- a/Samples/Primitives/Primitives.csproj +++ b/Samples/Primitives/Primitives.csproj @@ -122,11 +122,11 @@ {5BE49183-2F6F-4527-AC90-D816911FCF90} - ANX.Framework.Windows.DX10 + ANX.RenderSystem.Windows.DX10 {EB8258E0-6741-4DB9-B756-1EBDF67B1ED6} - ANX.Framework.Windows.GL3 + ANX.RenderSystem.Windows.GL3 {6A582788-C4D2-410C-96CD-177F75712D65} diff --git a/Samples/RecordingSample/RecordingSample.csproj b/Samples/RecordingSample/RecordingSample.csproj index dd383125..bfcf536c 100644 --- a/Samples/RecordingSample/RecordingSample.csproj +++ b/Samples/RecordingSample/RecordingSample.csproj @@ -123,7 +123,7 @@ {5BE49183-2F6F-4527-AC90-D816911FCF90} - ANX.Framework.Windows.DX10 + ANX.RenderSystem.Windows.DX10 {FA6E229D-4504-47B1-8A23-2D3FCC13F778} diff --git a/Samples/RenderTarget/RenderTarget.csproj b/Samples/RenderTarget/RenderTarget.csproj index 5f020e31..33337c93 100644 --- a/Samples/RenderTarget/RenderTarget.csproj +++ b/Samples/RenderTarget/RenderTarget.csproj @@ -123,11 +123,11 @@ {5BE49183-2F6F-4527-AC90-D816911FCF90} - ANX.Framework.Windows.DX10 + ANX.RenderSystem.Windows.DX10 {EB8258E0-6741-4DB9-B756-1EBDF67B1ED6} - ANX.Framework.Windows.GL3 + ANX.RenderSystem.Windows.GL3 {6A582788-C4D2-410C-96CD-177F75712D65} diff --git a/Samples/SampleContent/SampleContent.contentproj b/Samples/SampleContent/SampleContent.contentproj index 30be9fcd..3ff752e1 100644 --- a/Samples/SampleContent/SampleContent.contentproj +++ b/Samples/SampleContent/SampleContent.contentproj @@ -32,9 +32,9 @@ - + {ECBF60CB-1CF0-4F92-8963-E73115B04B43} - ANX.Framework.ContentPipeline + ANX.Framework.ContentPipeline.Extensions diff --git a/Samples/StencilBuffer/StencilBuffer.csproj b/Samples/StencilBuffer/StencilBuffer.csproj index e950d952..b1d9c769 100644 --- a/Samples/StencilBuffer/StencilBuffer.csproj +++ b/Samples/StencilBuffer/StencilBuffer.csproj @@ -158,7 +158,7 @@ {5BE49183-2F6F-4527-AC90-D816911FCF90} - ANX.Framework.Windows.DX10 + ANX.RenderSystem.Windows.DX10 {6A582788-C4D2-410C-96CD-177F75712D65} diff --git a/Samples/TextRendering/TextRendering.csproj b/Samples/TextRendering/TextRendering.csproj index 5f988e68..76e61c22 100644 --- a/Samples/TextRendering/TextRendering.csproj +++ b/Samples/TextRendering/TextRendering.csproj @@ -123,11 +123,11 @@ {5BE49183-2F6F-4527-AC90-D816911FCF90} - ANX.Framework.Windows.DX10 + ANX.RenderSystem.Windows.DX10 {EB8258E0-6741-4DB9-B756-1EBDF67B1ED6} - ANX.Framework.Windows.GL3 + ANX.RenderSystem.Windows.GL3 {6A582788-C4D2-410C-96CD-177F75712D65} diff --git a/Samples/VertexIndexBuffer/VertexIndexBuffer.csproj b/Samples/VertexIndexBuffer/VertexIndexBuffer.csproj index b57a7a0f..fc1cecd7 100644 --- a/Samples/VertexIndexBuffer/VertexIndexBuffer.csproj +++ b/Samples/VertexIndexBuffer/VertexIndexBuffer.csproj @@ -122,7 +122,7 @@ {5BE49183-2F6F-4527-AC90-D816911FCF90} - ANX.Framework.Windows.DX10 + ANX.RenderSystem.Windows.DX10 {6A582788-C4D2-410C-96CD-177F75712D65} diff --git a/Samples/WindowsGame/WindowsGame.csproj b/Samples/WindowsGame/WindowsGame.csproj index 172cbb21..69a5fea3 100644 --- a/Samples/WindowsGame/WindowsGame.csproj +++ b/Samples/WindowsGame/WindowsGame.csproj @@ -147,11 +147,11 @@ {5BE49183-2F6F-4527-AC90-D816911FCF90} - ANX.Framework.Windows.DX10 + ANX.RenderSystem.Windows.DX10 {EB8258E0-6741-4DB9-B756-1EBDF67B1ED6} - ANX.Framework.Windows.GL3 + ANX.RenderSystem.Windows.GL3 {B30DE9C2-0926-46B6-8351-9AF276C472D5}