Browse Source

netstandard projects

Nick Kastellanos 2 years ago
parent
commit
c3d4a6eec3

+ 139 - 0
Aether.Extras.NETSTANDARD.sln

@@ -0,0 +1,139 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.32126.315
+MinimumVisualStudioVersion = 15.0.28307.1082
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Aether.Content.Pipeline", "Aether.Content.Pipeline", "{A921886B-C6F7-4FF8-8668-EC20004C464A}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DDSImporter.NETSTANDARD", "Content.Pipeline\DDSImporter\DDSImporter.NETSTANDARD.csproj", "{26C387C6-7313-47D4-A05F-14639AB02D70}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RawModelProcessor.NETSTANDARD", "Content.Pipeline\RawModelProcessor\RawModelProcessor.NETSTANDARD.csproj", "{48E4029A-115C-4DC2-AF3A-0AB94F36BFC0}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GraphicsImporters.NETSTANDARD", "Content.Pipeline\GraphicsImporters\GraphicsImporters.NETSTANDARD.csproj", "{400DC7B2-739D-4156-916D-2F2E1920310D}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Aether.Graphics.NETSTANDARD", "Graphics\Aether.Graphics.NETSTANDARD.csproj", "{0A4ED2DF-9CDD-4C98-83AA-1898A394AC27}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AnimationImporters.NETSTANDARD", "Content.Pipeline\AnimationImporters\AnimationImporters.NETSTANDARD.csproj", "{D9A47306-DEE0-4410-BC2C-BA8FFCE682A3}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TilemapImporter.NETSTANDARD", "Content.Pipeline\TilemapImporters\TilemapImporter.NETSTANDARD.csproj", "{9B0F9C6B-3C43-472D-B0C1-91E11A9FDE89}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Aether.Animation.NETSTANDARD", "Animation\Aether.Animation.NETSTANDARD.csproj", "{F08D6D4C-60FB-4543-8D81-594080EB8051}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Aether.Animation.NETSTANDARD.DX", "Animation\Aether.Animation.NETSTANDARD.DX.csproj", "{57903A6B-1576-4361-8F03-1D5F038A782A}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Aether.Shaders", "Aether.Shaders", "{13D47E11-4A7C-49C8-942E-2543E9C0098A}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Aether.Shaders.FXAA.NETSTANDARD", "Shaders\FXAA\Aether.Shaders.FXAA.NETSTANDARD.csproj", "{FBBDE2BA-F9F3-4041-8584-2C912C235E26}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Aether.Shaders.Deferred.NETSTANDARD", "Shaders\Deferred\Aether.Shaders.Deferred.NETSTANDARD.csproj", "{96105100-20DB-4187-9BCA-0A20AC9F1298}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AtlasImporter.NETSTANDARD", "Content.Pipeline\AtlasImporter\AtlasImporter.NETSTANDARD.csproj", "{E710FBEA-8C75-405D-B6B4-CFC82CB48FB5}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Aether.Atlas.NETSTANDARD", "Atlas\Aether.Atlas.NETSTANDARD.csproj", "{C7522B5E-B255-4FB6-A17A-9E6D217AEBD2}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Aether.Shaders.InfiniteGrid.NETSTANDARD", "Shaders\InfiniteGrid\Aether.Shaders.InfiniteGrid.NETSTANDARD.csproj", "{08296A2E-BECF-4DB9-A518-8A613D07B80E}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Aether.Shaders.Tilemap.NETSTANDARD", "Shaders\Tilemap\Aether.Shaders.Tilemap.NETSTANDARD.csproj", "{6721CD07-0880-4154-85AF-EBE6043EF178}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SLMCImporter.NETSTANDARD", "Content.Pipeline\SLMCImporter\SLMCImporter.NETSTANDARD.csproj", "{C9FA924B-DA91-4641-8B7D-CBC09E5560AE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VoxelImporters.NETSTANDARD", "Content.Pipeline\VoxelImporters\VoxelImporters.NETSTANDARD.csproj", "{AA15CF95-0AF2-4346-9465-CB6EDBE22ED9}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Aether.Tilemap.NETSTANDARD", "Tilemap\Aether.Tilemap.NETSTANDARD.csproj", "{7BD9F460-F3F9-40A0-B298-066EA975C06C}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{26C387C6-7313-47D4-A05F-14639AB02D70}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{26C387C6-7313-47D4-A05F-14639AB02D70}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{26C387C6-7313-47D4-A05F-14639AB02D70}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{26C387C6-7313-47D4-A05F-14639AB02D70}.Release|Any CPU.Build.0 = Release|Any CPU
+		{48E4029A-115C-4DC2-AF3A-0AB94F36BFC0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{48E4029A-115C-4DC2-AF3A-0AB94F36BFC0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{48E4029A-115C-4DC2-AF3A-0AB94F36BFC0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{48E4029A-115C-4DC2-AF3A-0AB94F36BFC0}.Release|Any CPU.Build.0 = Release|Any CPU
+		{400DC7B2-739D-4156-916D-2F2E1920310D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{400DC7B2-739D-4156-916D-2F2E1920310D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{400DC7B2-739D-4156-916D-2F2E1920310D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{400DC7B2-739D-4156-916D-2F2E1920310D}.Release|Any CPU.Build.0 = Release|Any CPU
+		{0A4ED2DF-9CDD-4C98-83AA-1898A394AC27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{0A4ED2DF-9CDD-4C98-83AA-1898A394AC27}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{0A4ED2DF-9CDD-4C98-83AA-1898A394AC27}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{0A4ED2DF-9CDD-4C98-83AA-1898A394AC27}.Release|Any CPU.Build.0 = Release|Any CPU
+		{D9A47306-DEE0-4410-BC2C-BA8FFCE682A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{D9A47306-DEE0-4410-BC2C-BA8FFCE682A3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{D9A47306-DEE0-4410-BC2C-BA8FFCE682A3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{D9A47306-DEE0-4410-BC2C-BA8FFCE682A3}.Release|Any CPU.Build.0 = Release|Any CPU
+		{9B0F9C6B-3C43-472D-B0C1-91E11A9FDE89}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{9B0F9C6B-3C43-472D-B0C1-91E11A9FDE89}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{9B0F9C6B-3C43-472D-B0C1-91E11A9FDE89}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{9B0F9C6B-3C43-472D-B0C1-91E11A9FDE89}.Release|Any CPU.Build.0 = Release|Any CPU
+		{F08D6D4C-60FB-4543-8D81-594080EB8051}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{F08D6D4C-60FB-4543-8D81-594080EB8051}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{F08D6D4C-60FB-4543-8D81-594080EB8051}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{F08D6D4C-60FB-4543-8D81-594080EB8051}.Release|Any CPU.Build.0 = Release|Any CPU
+		{57903A6B-1576-4361-8F03-1D5F038A782A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{57903A6B-1576-4361-8F03-1D5F038A782A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{57903A6B-1576-4361-8F03-1D5F038A782A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{57903A6B-1576-4361-8F03-1D5F038A782A}.Release|Any CPU.Build.0 = Release|Any CPU
+		{FBBDE2BA-F9F3-4041-8584-2C912C235E26}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{FBBDE2BA-F9F3-4041-8584-2C912C235E26}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{FBBDE2BA-F9F3-4041-8584-2C912C235E26}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{FBBDE2BA-F9F3-4041-8584-2C912C235E26}.Release|Any CPU.Build.0 = Release|Any CPU
+		{96105100-20DB-4187-9BCA-0A20AC9F1298}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{96105100-20DB-4187-9BCA-0A20AC9F1298}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{96105100-20DB-4187-9BCA-0A20AC9F1298}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{96105100-20DB-4187-9BCA-0A20AC9F1298}.Release|Any CPU.Build.0 = Release|Any CPU
+		{E710FBEA-8C75-405D-B6B4-CFC82CB48FB5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{E710FBEA-8C75-405D-B6B4-CFC82CB48FB5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{E710FBEA-8C75-405D-B6B4-CFC82CB48FB5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{E710FBEA-8C75-405D-B6B4-CFC82CB48FB5}.Release|Any CPU.Build.0 = Release|Any CPU
+		{C7522B5E-B255-4FB6-A17A-9E6D217AEBD2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{C7522B5E-B255-4FB6-A17A-9E6D217AEBD2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{C7522B5E-B255-4FB6-A17A-9E6D217AEBD2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{C7522B5E-B255-4FB6-A17A-9E6D217AEBD2}.Release|Any CPU.Build.0 = Release|Any CPU
+		{08296A2E-BECF-4DB9-A518-8A613D07B80E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{08296A2E-BECF-4DB9-A518-8A613D07B80E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{08296A2E-BECF-4DB9-A518-8A613D07B80E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{08296A2E-BECF-4DB9-A518-8A613D07B80E}.Release|Any CPU.Build.0 = Release|Any CPU
+		{6721CD07-0880-4154-85AF-EBE6043EF178}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{6721CD07-0880-4154-85AF-EBE6043EF178}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{6721CD07-0880-4154-85AF-EBE6043EF178}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{6721CD07-0880-4154-85AF-EBE6043EF178}.Release|Any CPU.Build.0 = Release|Any CPU
+		{C9FA924B-DA91-4641-8B7D-CBC09E5560AE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{C9FA924B-DA91-4641-8B7D-CBC09E5560AE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{C9FA924B-DA91-4641-8B7D-CBC09E5560AE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{C9FA924B-DA91-4641-8B7D-CBC09E5560AE}.Release|Any CPU.Build.0 = Release|Any CPU
+		{AA15CF95-0AF2-4346-9465-CB6EDBE22ED9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{AA15CF95-0AF2-4346-9465-CB6EDBE22ED9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{AA15CF95-0AF2-4346-9465-CB6EDBE22ED9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{AA15CF95-0AF2-4346-9465-CB6EDBE22ED9}.Release|Any CPU.Build.0 = Release|Any CPU
+		{7BD9F460-F3F9-40A0-B298-066EA975C06C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{7BD9F460-F3F9-40A0-B298-066EA975C06C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{7BD9F460-F3F9-40A0-B298-066EA975C06C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{7BD9F460-F3F9-40A0-B298-066EA975C06C}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(NestedProjects) = preSolution
+		{26C387C6-7313-47D4-A05F-14639AB02D70} = {A921886B-C6F7-4FF8-8668-EC20004C464A}
+		{48E4029A-115C-4DC2-AF3A-0AB94F36BFC0} = {A921886B-C6F7-4FF8-8668-EC20004C464A}
+		{400DC7B2-739D-4156-916D-2F2E1920310D} = {A921886B-C6F7-4FF8-8668-EC20004C464A}
+		{D9A47306-DEE0-4410-BC2C-BA8FFCE682A3} = {A921886B-C6F7-4FF8-8668-EC20004C464A}
+		{9B0F9C6B-3C43-472D-B0C1-91E11A9FDE89} = {A921886B-C6F7-4FF8-8668-EC20004C464A}
+		{FBBDE2BA-F9F3-4041-8584-2C912C235E26} = {13D47E11-4A7C-49C8-942E-2543E9C0098A}
+		{96105100-20DB-4187-9BCA-0A20AC9F1298} = {13D47E11-4A7C-49C8-942E-2543E9C0098A}
+		{E710FBEA-8C75-405D-B6B4-CFC82CB48FB5} = {A921886B-C6F7-4FF8-8668-EC20004C464A}
+		{08296A2E-BECF-4DB9-A518-8A613D07B80E} = {13D47E11-4A7C-49C8-942E-2543E9C0098A}
+		{6721CD07-0880-4154-85AF-EBE6043EF178} = {13D47E11-4A7C-49C8-942E-2543E9C0098A}
+		{C9FA924B-DA91-4641-8B7D-CBC09E5560AE} = {A921886B-C6F7-4FF8-8668-EC20004C464A}
+		{AA15CF95-0AF2-4346-9465-CB6EDBE22ED9} = {A921886B-C6F7-4FF8-8668-EC20004C464A}
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {1E79E6CF-73EA-4680-A11D-B2C32C9E1B3A}
+	EndGlobalSection
+EndGlobal

+ 52 - 0
Animation/Aether.Animation.NETSTANDARD.DX.csproj

@@ -0,0 +1,52 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <EnableDefaultItems>false</EnableDefaultItems>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <OutputType>Library</OutputType>
+    <RootNamespace>nkast.Aether.Animation</RootNamespace>
+    <AssemblyName>Aether.Animation</AssemblyName>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
+	<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
+    <OutputPath>..\Artifacts\$(Configuration)\Libraries\netstandard2.0.DX\</OutputPath>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DefineConstants>TRACE;DEBUG;WINDOWS MG MAPPEDMEM</DefineConstants>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DefineConstants>TRACE;WINDOWS MG MAPPEDMEM</DefineConstants>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+  </PropertyGroup>
+  <ItemGroup>
+    <PackageReference Include="MonoGame.Framework.Portable.9000" Version="3.8.9101">
+      <PrivateAssets>all</PrivateAssets>
+      <ExcludeAssets>runtime</ExcludeAssets>
+    </PackageReference>
+    <PackageReference Include="SharpDX" Version="4.0.1.0">
+      <PrivateAssets>all</PrivateAssets>
+      <ExcludeAssets>runtime</ExcludeAssets>
+    </PackageReference>
+    <PackageReference Include="SharpDX.Direct3D11" Version="4.0.1.0">
+      <PrivateAssets>all</PrivateAssets>
+      <ExcludeAssets>runtime</ExcludeAssets>
+    </PackageReference>
+    <PackageReference Include="SharpDX.DXGI" Version="4.0.1.0">
+      <PrivateAssets>all</PrivateAssets>
+      <ExcludeAssets>runtime</ExcludeAssets>
+    </PackageReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Animation\Animations.cs" />
+    <Compile Include="Animation\Clip.cs" />
+    <Compile Include="Animation\CpuAnimatedVertexBuffer.Unsafe.cs" />
+    <Compile Include="Animation\Extensions.cs" />
+    <Compile Include="Animation\Keyframe.cs" />
+    <Compile Include="ContentReaders\AnimationsReader.cs" />
+    <Compile Include="ContentReaders\ClipReader.cs" />
+    <Compile Include="ContentReaders\CpuAnimatedVertexBufferReader.cs" />
+    <Compile Include="Graphics\VertexTypes\VertexIndicesWeightsPositionNormal.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+</Project>

+ 39 - 0
Animation/Aether.Animation.NETSTANDARD.csproj

@@ -0,0 +1,39 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <EnableDefaultItems>false</EnableDefaultItems>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <OutputType>Library</OutputType>
+    <RootNamespace>nkast.Aether.Animation</RootNamespace>
+    <AssemblyName>Aether.Animation</AssemblyName>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
+	<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
+    <OutputPath>..\Artifacts\$(Configuration)\Libraries\netstandard2.0\</OutputPath>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DefineConstants>TRACE;DEBUG;WINDOWS MG</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DefineConstants>TRACE;WINDOWS MG</DefineConstants>
+  </PropertyGroup>
+  <ItemGroup>
+    <PackageReference Include="MonoGame.Framework.Portable.9000" Version="3.8.9101">
+      <PrivateAssets>all</PrivateAssets>
+      <ExcludeAssets>runtime</ExcludeAssets>
+    </PackageReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Animation\Animations.cs" />
+    <Compile Include="Animation\Clip.cs" />
+    <Compile Include="Animation\CpuAnimatedVertexBuffer.Unsafe.cs" />
+    <Compile Include="Animation\Extensions.cs" />
+    <Compile Include="Animation\Keyframe.cs" />
+    <Compile Include="ContentReaders\AnimationsReader.cs" />
+    <Compile Include="ContentReaders\ClipReader.cs" />
+    <Compile Include="ContentReaders\CpuAnimatedVertexBufferReader.cs" />
+    <Compile Include="Graphics\VertexTypes\VertexIndicesWeightsPositionNormal.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+</Project>

+ 35 - 0
Atlas/Aether.Atlas.NETSTANDARD.csproj

@@ -0,0 +1,35 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <EnableDefaultItems>false</EnableDefaultItems>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <OutputType>Library</OutputType>
+    <RootNamespace>nkast.Aether.Graphics</RootNamespace>
+    <AssemblyName>Aether.Atlas</AssemblyName>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
+	<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
+    <OutputPath>..\Artifacts\$(Configuration)\Libraries\netstandard2.0\</OutputPath>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DefineConstants>TRACE;DEBUG;WINDOWS MG</DefineConstants>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DefineConstants>TRACE;WINDOWS MG</DefineConstants>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+  </PropertyGroup>
+  <ItemGroup>
+    <PackageReference Include="MonoGame.Framework.Portable.9000" Version="3.8.9101">
+      <PrivateAssets>all</PrivateAssets>
+      <ExcludeAssets>runtime</ExcludeAssets>
+    </PackageReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Atlas\Extensions.cs" />
+    <Compile Include="Atlas\Sprite.cs" />
+    <Compile Include="Atlas\TextureAtlas.cs" />
+    <Compile Include="ContentReaders\TextureAtlasReader.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+</Project>

+ 49 - 0
Content.Pipeline/AnimationImporters/AnimationImporters.NETSTANDARD.csproj

@@ -0,0 +1,49 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <EnableDefaultItems>false</EnableDefaultItems>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <OutputType>Library</OutputType>
+    <RootNamespace>nkast.Aether.Content.Pipeline</RootNamespace>
+    <AssemblyName>Aether.Content.Pipeline.AnimationImporters</AssemblyName>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
+    <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
+    <OutputPath>..\..\Artifacts\$(Configuration)\Processors\netstandard2.0\</OutputPath>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DefineConstants>TRACE;DEBUG;WINDOWS MG</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DefineConstants>TRACE;WINDOWS MG</DefineConstants>
+  </PropertyGroup>
+  <ItemGroup>
+    <PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Animation\AnimationsContent.cs" />
+    <Compile Include="Animation\ClipContent.cs" />
+    <Compile Include="Animation\CpuAnimatedVertexBufferContent.cs" />
+    <Compile Include="Animation\KeyframeContent.cs" />
+    <Compile Include="Processors\AnimationsProcessor.cs" />
+    <Compile Include="Processors\CpuAnimatedModelProcessor.cs" />
+    <Compile Include="Processors\GpuAnimatedModelProcessor.cs" />
+    <Compile Include="Serialization\AnimationsWriter.cs" />
+    <Compile Include="Serialization\ClipWriter.cs" />
+    <Compile Include="Serialization\CpuAnimatedVertexBufferWriter.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.MG.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <PackageReference Include="MonoGame.Framework.Portable.9000" Version="3.8.9101">
+      <PrivateAssets>all</PrivateAssets>
+      <ExcludeAssets>runtime</ExcludeAssets>
+    </PackageReference>
+    <PackageReference Include="MonoGame.Framework.Content.Pipeline.Portable.9000" Version="3.8.9101">
+      <PrivateAssets>all</PrivateAssets>
+      <ExcludeAssets>runtime</ExcludeAssets>
+    </PackageReference>
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\GraphicsImporters\GraphicsImporters.NETSTANDARD.csproj" />
+  </ItemGroup>
+</Project>

+ 40 - 0
Content.Pipeline/AtlasImporter/AtlasImporter.NETSTANDARD.csproj

@@ -0,0 +1,40 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <EnableDefaultItems>false</EnableDefaultItems>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <OutputType>Library</OutputType>
+    <RootNamespace>nkast.Aether.Content.Pipeline</RootNamespace>
+    <AssemblyName>Aether.Content.Pipeline.AtlasImporter</AssemblyName>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
+    <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
+    <OutputPath>..\..\Artifacts\$(Configuration)\Processors\netstandard2.0\</OutputPath>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DefineConstants>TRACE;DEBUG;WINDOWS MG</DefineConstants>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DefineConstants>TRACE;WINDOWS MG</DefineConstants>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+  </PropertyGroup>
+  <ItemGroup>
+    <PackageReference Include="MonoGame.Framework.Portable.9000" Version="3.8.9101">
+      <PrivateAssets>all</PrivateAssets>
+      <ExcludeAssets>runtime</ExcludeAssets>
+    </PackageReference>
+    <PackageReference Include="MonoGame.Framework.Content.Pipeline.Portable.9000" Version="3.8.9101">
+      <PrivateAssets>all</PrivateAssets>
+      <ExcludeAssets>runtime</ExcludeAssets>
+    </PackageReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="AtlasImporter.cs" />
+    <Compile Include="Atlas\TextureAtlasContent.cs" />
+    <Compile Include="Atlas\SpriteContent.cs" />
+    <Compile Include="Atlas\TileContent.cs" />
+    <Compile Include="Atlas\TilesetContent.cs" />
+    <Compile Include="Processors\TextureAtlasProcessor.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="Serialization\TextureAtlasWriter.cs" />
+  </ItemGroup>
+</Project>

+ 38 - 0
Content.Pipeline/DDSImporter/DDSImporter.NETSTANDARD.csproj

@@ -0,0 +1,38 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <EnableDefaultItems>false</EnableDefaultItems>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <OutputType>Library</OutputType>
+    <RootNamespace>nkast.Aether.Content.Pipeline</RootNamespace>
+    <AssemblyName>Aether.Content.Pipeline.DDSImporter</AssemblyName>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
+    <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
+    <OutputPath>..\..\Artifacts\$(Configuration)\Processors\netstandard2.0\</OutputPath>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DefineConstants>TRACE;DEBUG;WINDOWS MG</DefineConstants>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DefineConstants>TRACE;WINDOWS MG</DefineConstants>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+  </PropertyGroup>
+  <ItemGroup>
+    <PackageReference Include="MonoGame.Framework.Portable.9000" Version="3.8.9101">
+      <PrivateAssets>all</PrivateAssets>
+      <ExcludeAssets>runtime</ExcludeAssets>
+    </PackageReference>
+    <PackageReference Include="MonoGame.Framework.Content.Pipeline.Portable.9000" Version="3.8.9101">
+      <PrivateAssets>all</PrivateAssets>
+      <ExcludeAssets>runtime</ExcludeAssets>
+    </PackageReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="DDSHeader.cs" />
+    <Compile Include="DDSImporter.cs" />
+    <Compile Include="DDSPixelFormat.cs" />
+    <Compile Include="DDSProcessor.cs" />
+    <Compile Include="DXT1Block.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+</Project>

+ 40 - 0
Content.Pipeline/GraphicsImporters/GraphicsImporters.NETSTANDARD.csproj

@@ -0,0 +1,40 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <EnableDefaultItems>false</EnableDefaultItems>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <OutputType>Library</OutputType>
+    <RootNamespace>nkast.Aether.Content.Pipeline</RootNamespace>
+    <AssemblyName>Aether.Content.Pipeline.GraphicsImporters</AssemblyName>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
+    <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
+    <OutputPath>..\..\Artifacts\$(Configuration)\Processors\netstandard2.0\</OutputPath>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DefineConstants>TRACE;DEBUG;WINDOWS</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DefineConstants>TRACE;WINDOWS MG</DefineConstants>
+  </PropertyGroup>
+  <ItemGroup>
+    <PackageReference Include="MonoGame.Framework.Portable.9000" Version="3.8.9101">
+      <PrivateAssets>all</PrivateAssets>
+      <ExcludeAssets>runtime</ExcludeAssets>
+    </PackageReference>
+    <PackageReference Include="MonoGame.Framework.Content.Pipeline.Portable.9000" Version="3.8.9101">
+      <PrivateAssets>all</PrivateAssets>
+      <ExcludeAssets>runtime</ExcludeAssets>
+    </PackageReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Graphics\DynamicIndexBufferContent.cs" />
+    <Compile Include="Graphics\DynamicModelContent.cs" />
+    <Compile Include="Graphics\DynamicModelMeshContent.cs" />
+    <Compile Include="Graphics\DynamicModelMeshPartContent.cs" />
+    <Compile Include="Graphics\DynamicVertexBufferContent.cs" />
+    <Compile Include="Processors\DynamicModelProcessor.cs" />
+    <Compile Include="Serialization\DynamicIndexBufferWriter.cs" />
+    <Compile Include="Serialization\DynamicModelWriter.cs" />
+    <Compile Include="Serialization\DynamicVertexBufferWriter.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+</Project>

+ 32 - 0
Content.Pipeline/RawModelProcessor/RawModelProcessor.NETSTANDARD.csproj

@@ -0,0 +1,32 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <EnableDefaultItems>false</EnableDefaultItems>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <OutputType>Library</OutputType>
+    <RootNamespace>nkast.Aether.Content.Pipeline</RootNamespace>
+    <AssemblyName>Aether.Content.Pipeline.RawModelProcessor</AssemblyName>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
+	<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
+    <OutputPath>..\..\Artifacts\$(Configuration)\Processors\netstandard2.0\</OutputPath>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DefineConstants>TRACE;DEBUG;WINDOWS MG</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DefineConstants>TRACE;WINDOWS MG</DefineConstants>
+  </PropertyGroup>
+  <ItemGroup>
+    <PackageReference Include="MonoGame.Framework.Portable.9000" Version="3.8.9101">
+      <PrivateAssets>all</PrivateAssets>
+      <ExcludeAssets>runtime</ExcludeAssets>
+    </PackageReference>
+    <PackageReference Include="MonoGame.Framework.Content.Pipeline.Portable.9000" Version="3.8.9101">
+      <PrivateAssets>all</PrivateAssets>
+      <ExcludeAssets>runtime</ExcludeAssets>
+    </PackageReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="RawModelProcessor.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+</Project>

+ 36 - 0
Content.Pipeline/SLMCImporter/SLMCImporter.NETSTANDARD.csproj

@@ -0,0 +1,36 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <EnableDefaultItems>false</EnableDefaultItems>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <OutputType>Library</OutputType>
+    <RootNamespace>nkast.Aether.Content.Pipeline</RootNamespace>
+    <AssemblyName>Aether.Content.Pipeline.SLMCImporter</AssemblyName>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
+    <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
+    <OutputPath>..\..\Artifacts\$(Configuration)\Processors\netstandard2.0\</OutputPath>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DefineConstants>TRACE;DEBUG;WINDOWS MG</DefineConstants>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DefineConstants>TRACE;WINDOWS MG</DefineConstants>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+  </PropertyGroup>
+  <ItemGroup>
+    <PackageReference Include="MonoGame.Framework.Portable.9000" Version="3.8.9101">
+      <PrivateAssets>all</PrivateAssets>
+      <ExcludeAssets>runtime</ExcludeAssets>
+    </PackageReference>
+    <PackageReference Include="MonoGame.Framework.Content.Pipeline.Portable.9000" Version="3.8.9101">
+      <PrivateAssets>all</PrivateAssets>
+      <ExcludeAssets>runtime</ExcludeAssets>
+    </PackageReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Processors\SLMCProcessor.cs" />
+    <Compile Include="Processors\SLMCOutputFormat.cs" />
+    <Compile Include="SLMCImporter.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+</Project>

+ 41 - 0
Content.Pipeline/TilemapImporters/TilemapImporter.NETSTANDARD.csproj

@@ -0,0 +1,41 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <EnableDefaultItems>false</EnableDefaultItems>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <OutputType>Library</OutputType>
+    <RootNamespace>nkast.Aether.Content.Pipeline</RootNamespace>
+    <AssemblyName>Aether.Content.Pipeline.TilemapImporter</AssemblyName>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
+    <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
+    <OutputPath>..\..\Artifacts\$(Configuration)\Processors\netstandard2.0\</OutputPath>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DefineConstants>TRACE;DEBUG;WINDOWS MG</DefineConstants>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DefineConstants>TRACE;WINDOWS MG</DefineConstants>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+  </PropertyGroup>
+  <ItemGroup>
+    <PackageReference Include="MonoGame.Framework.Portable.9000" Version="3.8.9101">
+      <PrivateAssets>all</PrivateAssets>
+      <ExcludeAssets>runtime</ExcludeAssets>
+    </PackageReference>
+    <PackageReference Include="MonoGame.Framework.Content.Pipeline.Portable.9000" Version="3.8.9101">
+      <PrivateAssets>all</PrivateAssets>
+      <ExcludeAssets>runtime</ExcludeAssets>
+    </PackageReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="TilemapImporter.cs" />
+    <Compile Include="Tilemap\TileContent.cs" />
+    <Compile Include="Tilemap\TilemapContent.cs" />
+    <Compile Include="Tilemap\TilesetContent.cs" />
+    <Compile Include="Tilemap\XMLExtensions.cs" />
+    <Compile Include="Processors\TilePacker.cs" />
+    <Compile Include="Processors\TilemapProcessor.cs" />
+    <Compile Include="Serialization\TilemapWriter.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+</Project>

+ 18 - 0
Content.Pipeline/TilemapImporters/TilemapImporter.NETSTANDARD.csproj.user

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
+    <StartArguments>
+    </StartArguments>
+    <StartAction>Project</StartAction>
+    <StartProgram>
+    </StartProgram>
+    <StartWorkingDirectory>
+    </StartWorkingDirectory>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
+    <StartAction>Program</StartAction>
+    <StartProgram>C:\Program Files %28x86%29\MSBuild\MonoGame\v3.0\Tools\MGCB.exe</StartProgram>
+    <StartArguments>/reference:..\..\Artifacts\Debug\net4\Aether.Content.Pipeline.TilemapImporter.dll /importer:TilemapImporter /processor:TilemapProcessor /build:tilemapNoMipmap.tmx</StartArguments>
+    <StartWorkingDirectory>P:\nkast\Aether.Extras\Samples\TilemapContent</StartWorkingDirectory>
+  </PropertyGroup>
+</Project>

+ 42 - 0
Content.Pipeline/VoxelImporters/VoxelImporters.NETSTANDARD.csproj

@@ -0,0 +1,42 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <EnableDefaultItems>false</EnableDefaultItems>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <OutputType>Library</OutputType>
+    <RootNamespace>nkast.Aether.Content.Pipeline</RootNamespace>
+    <AssemblyName>Aether.Content.Pipeline.VoxelImporters</AssemblyName>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
+    <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <OutputPath>..\..\Artifacts\$(Configuration)\Processors\netstandard2.0\</OutputPath>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DefineConstants>TRACE;DEBUG;WINDOWS MG</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DefineConstants>TRACE;WINDOWS MG</DefineConstants>
+  </PropertyGroup>
+  <ItemGroup>
+    <PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Vox\VoxImporter.cs" />
+    <Compile Include="Vox\VoxHeader.cs" />
+    <Compile Include="VertexPositionNormalColor.cs" />
+    <Compile Include="VoxelContent.cs" />
+    <Compile Include="VoxelModelImporter.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <PackageReference Include="MonoGame.Framework.Portable.9000" Version="3.8.9101">
+      <PrivateAssets>all</PrivateAssets>
+      <ExcludeAssets>runtime</ExcludeAssets>
+    </PackageReference>
+    <PackageReference Include="MonoGame.Framework.Content.Pipeline.Portable.9000" Version="3.8.9101">
+      <PrivateAssets>all</PrivateAssets>
+      <ExcludeAssets>runtime</ExcludeAssets>
+    </PackageReference>
+  </ItemGroup>
+</Project>

+ 31 - 0
Graphics/Aether.Graphics.NETSTANDARD.csproj

@@ -0,0 +1,31 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <EnableDefaultItems>false</EnableDefaultItems>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <OutputType>Library</OutputType>
+    <RootNamespace>nkast.Aether.Graphics</RootNamespace>
+    <AssemblyName>Aether.Graphics</AssemblyName>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
+	<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
+    <OutputPath>..\Artifacts\$(Configuration)\Libraries\netstandard2.0\</OutputPath>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DefineConstants>TRACE;DEBUG;WINDOWS MG</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DefineConstants>TRACE;WINDOWS MG</DefineConstants>
+  </PropertyGroup>
+  <ItemGroup>
+    <PackageReference Include="MonoGame.Framework.Portable.9000" Version="3.8.9101">
+      <PrivateAssets>all</PrivateAssets>
+      <ExcludeAssets>runtime</ExcludeAssets>
+    </PackageReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="ContentReaders\DynamicIndexBufferReader.cs" />
+    <Compile Include="ContentReaders\DynamicVertexBufferReader.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+</Project>

+ 54 - 0
Shaders/Deferred/Aether.Shaders.Deferred.NETSTANDARD.csproj

@@ -0,0 +1,54 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <EnableDefaultItems>false</EnableDefaultItems>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <OutputType>Library</OutputType>
+    <RootNamespace>nkast.Aether.Shaders</RootNamespace>
+    <AssemblyName>Aether.Shaders.Deferred</AssemblyName>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
+	<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
+    <OutputPath>..\..\Artifacts\$(Configuration)\Libraries\netstandard2.0\</OutputPath>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DefineConstants>TRACE;DEBUG;WINDOWS MG</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DefineConstants>TRACE;WINDOWS MG</DefineConstants>
+  </PropertyGroup>
+  <ItemGroup>
+    <PackageReference Include="MonoGame.Framework.Portable.9000" Version="3.8.9101">
+      <PrivateAssets>all</PrivateAssets>
+      <ExcludeAssets>runtime</ExcludeAssets>
+    </PackageReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="DeferredBasicEffect.cs" />
+    <Compile Include="DeferredClearGBufferEffect.cs" />
+    <Compile Include="DeferredCombineEffect.cs" />
+    <Compile Include="DeferredPointLightEffect.cs" />
+    <Compile Include="DeferredSpotLightEffect.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <EmbeddedResource Include="Resources\DeferredBasicEffect.dx11.fxo.8" />
+    <EmbeddedResource Include="Resources\DeferredClearGBuffer.dx11.fxo.8" />
+    <EmbeddedResource Include="Resources\DeferredCombine.dx11.fxo.8" />
+    <EmbeddedResource Include="Resources\DeferredPointLight.dx11.fxo.8" />
+    <EmbeddedResource Include="Resources\DeferredSpotLight.dx11.fxo.8" />
+    <EmbeddedResource Include="Resources\DeferredBasicEffect.dx11.fxo.9" />
+    <EmbeddedResource Include="Resources\DeferredClearGBuffer.dx11.fxo.9" />
+    <EmbeddedResource Include="Resources\DeferredCombine.dx11.fxo.9" />
+    <EmbeddedResource Include="Resources\DeferredPointLight.dx11.fxo.9" />
+    <EmbeddedResource Include="Resources\DeferredSpotLight.dx11.fxo.9" />
+    <EmbeddedResource Include="Resources\DeferredBasicEffect.dx11.fxo.10" />
+    <EmbeddedResource Include="Resources\DeferredClearGBuffer.dx11.fxo.10" />
+    <EmbeddedResource Include="Resources\DeferredCombine.dx11.fxo.10" />
+    <EmbeddedResource Include="Resources\DeferredPointLight.dx11.fxo.10" />
+    <EmbeddedResource Include="Resources\DeferredSpotLight.dx11.fxo.10" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Remove="Properties\AssemblyInfo.UAP.cs" />
+  </ItemGroup>
+</Project>

+ 47 - 0
Shaders/FXAA/Aether.Shaders.FXAA.NETSTANDARD.csproj

@@ -0,0 +1,47 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <EnableDefaultItems>false</EnableDefaultItems>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <OutputType>Library</OutputType>
+    <RootNamespace>nkast.Aether.Shaders</RootNamespace>
+    <AssemblyName>Aether.Shaders.FXAA</AssemblyName>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
+	<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
+    <OutputPath>..\..\Artifacts\$(Configuration)\Libraries\netstandard2.0\</OutputPath>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DefineConstants>TRACE;DEBUG;WINDOWS MG</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DefineConstants>TRACE;WINDOWS MG</DefineConstants>
+  </PropertyGroup>
+  <ItemGroup>
+    <PackageReference Include="MonoGame.Framework.Portable.9000" Version="3.8.9101">
+      <PrivateAssets>all</PrivateAssets>
+      <ExcludeAssets>runtime</ExcludeAssets>
+    </PackageReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="FXAAEffect.cs" />
+    <Compile Include="FXAAGreenLumaHighEffect.cs" />
+    <Compile Include="FXAAGreenLumaLowEffect.cs" />
+    <Compile Include="FXAAGreenLumaMediumEffect.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <EmbeddedResource Include="Resources\FXAAGreenLumaHigh.dx11.fxo.8" />
+    <EmbeddedResource Include="Resources\FXAAGreenLumaLow.dx11.fxo.8" />
+    <EmbeddedResource Include="Resources\FXAAGreenLumaMedium.dx11.fxo.8" />
+    <EmbeddedResource Include="Resources\FXAAGreenLumaHigh.dx11.fxo.9" />
+    <EmbeddedResource Include="Resources\FXAAGreenLumaLow.dx11.fxo.9" />
+    <EmbeddedResource Include="Resources\FXAAGreenLumaMedium.dx11.fxo.9" />
+    <EmbeddedResource Include="Resources\FXAAGreenLumaHigh.dx11.fxo.10" />
+    <EmbeddedResource Include="Resources\FXAAGreenLumaLow.dx11.fxo.10" />
+    <EmbeddedResource Include="Resources\FXAAGreenLumaMedium.dx11.fxo.10" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Remove="Properties\AssemblyInfo.UAP.cs" />
+  </ItemGroup>
+</Project>

+ 39 - 0
Shaders/InfiniteGrid/Aether.Shaders.InfiniteGrid.NETSTANDARD.csproj

@@ -0,0 +1,39 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <EnableDefaultItems>false</EnableDefaultItems>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <OutputType>Library</OutputType>
+    <RootNamespace>nkast.Aether.Shaders</RootNamespace>
+    <AssemblyName>Aether.Shaders.InfiniteGrid</AssemblyName>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
+	<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
+    <OutputPath>..\..\Artifacts\$(Configuration)\Libraries\netstandard2.0\</OutputPath>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DefineConstants>TRACE;DEBUG;WINDOWS MG</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DefineConstants>TRACE;WINDOWS MG</DefineConstants>
+  </PropertyGroup>
+  <ItemGroup>
+    <PackageReference Include="MonoGame.Framework.Portable.9000" Version="3.8.9101">
+      <PrivateAssets>all</PrivateAssets>
+      <ExcludeAssets>runtime</ExcludeAssets>
+    </PackageReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Components\InfiniteGridComponent.cs" />
+    <Compile Include="InfiniteGridEffect.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <EmbeddedResource Include="Resources\InfiniteGridEffect.HiDef.dx11.fxo.8" />
+    <EmbeddedResource Include="Resources\InfiniteGridEffect.Reach.dx11.fxo.8" />
+    <EmbeddedResource Include="Resources\InfiniteGridEffect.HiDef.dx11.fxo.9" />
+    <EmbeddedResource Include="Resources\InfiniteGridEffect.Reach.dx11.fxo.9" />
+    <EmbeddedResource Include="Resources\InfiniteGridEffect.HiDef.dx11.fxo.10" />
+    <EmbeddedResource Include="Resources\InfiniteGridEffect.Reach.dx11.fxo.10" />
+  </ItemGroup>
+</Project>

+ 38 - 0
Shaders/Tilemap/Aether.Shaders.Tilemap.NETSTANDARD.csproj

@@ -0,0 +1,38 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <EnableDefaultItems>false</EnableDefaultItems>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <OutputType>Library</OutputType>
+    <RootNamespace>nkast.Aether.Shaders</RootNamespace>
+    <AssemblyName>Aether.Shaders.Tilemap</AssemblyName>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
+	<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
+    <OutputPath>..\..\Artifacts\$(Configuration)\Libraries\netstandard2.0\</OutputPath>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DefineConstants>TRACE;DEBUG;WINDOWS MG</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DefineConstants>TRACE;WINDOWS MG</DefineConstants>
+  </PropertyGroup>
+  <ItemGroup>
+    <Compile Include="TilemapEffect.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <EmbeddedResource Include="Resources\TilemapEffect.dx11.fxo.8" />
+    <EmbeddedResource Include="Resources\TilemapEffect.dx11.fxo.9" />
+    <EmbeddedResource Include="Resources\TilemapEffect.dx11.fxo.10" />
+  </ItemGroup>
+  <ItemGroup>
+    <PackageReference Include="MonoGame.Framework.Portable.9000" Version="3.8.9101">
+      <PrivateAssets>all</PrivateAssets>
+      <ExcludeAssets>runtime</ExcludeAssets>
+    </PackageReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Remove="Properties\AssemblyInfo.PORTABLE.cs" />
+  </ItemGroup>
+</Project>

+ 36 - 0
Tilemap/Aether.Tilemap.NETSTANDARD.csproj

@@ -0,0 +1,36 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <EnableDefaultItems>false</EnableDefaultItems>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <OutputType>Library</OutputType>
+    <RootNamespace>nkast.Aether.Graphics</RootNamespace>
+    <AssemblyName>Aether.Tilemap</AssemblyName>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
+	<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
+    <OutputPath>..\Artifacts\$(Configuration)\Libraries\netstandard2.0\</OutputPath>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DefineConstants>TRACE;DEBUG;WINDOWS MG</DefineConstants>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DefineConstants>TRACE;WINDOWS MG</DefineConstants>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+  </PropertyGroup>
+  <ItemGroup>
+    <PackageReference Include="MonoGame.Framework.Portable.9000" Version="3.8.9101">
+      <PrivateAssets>all</PrivateAssets>
+      <ExcludeAssets>runtime</ExcludeAssets>
+    </PackageReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Tilemap\Extensions.cs" />
+    <Compile Include="Tilemap\Tile.cs" />
+    <Compile Include="Tilemap\Tilemap.cs" />
+    <Compile Include="ContentReaders\TilemapReader.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\Shaders\Tilemap\Aether.Shaders.Tilemap.NETSTANDARD.csproj" />
+  </ItemGroup>
+</Project>