diff options
| author | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2019-08-29 08:30:14 +0200 |
|---|---|---|
| committer | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2019-08-29 08:30:14 +0200 |
| commit | ed79357e09bfaab5c0a2d01a7613b28e359e256f (patch) | |
| tree | c50818d92a23b665a2a1c3ce116196bf9bd4e3a2 | |
| parent | 6fd369da788af269309a99268c94d11247aefcf3 (diff) | |
debug and split gltfLoader in addons package
22 files changed, 232 insertions, 236 deletions
diff --git a/CVKL.Addons/Directory.Build.props b/CVKL.Addons/Directory.Build.props new file mode 100644 index 0000000..786764d --- /dev/null +++ b/CVKL.Addons/Directory.Build.props @@ -0,0 +1,46 @@ +<Project> + <PropertyGroup> + <RootDirectory>$(MSBuildThisFileDirectory)../</RootDirectory> + <Deterministic>true</Deterministic> + + <TargetFrameworks>net471;netstandard2.0</TargetFrameworks> + + <RepositoryUrl>https://github.com/jpbruyere/vk.net</RepositoryUrl> + <License>MIT</License> + <Authors>Jean-Philippe Bruyère</Authors> + + <OutputPath>$(SolutionDir)build\$(Configuration)\</OutputPath> + <OutputType>Exe</OutputType> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <IncludeDefaultNoneItems>false</IncludeDefaultNoneItems> + + <LangVersion>7.2</LangVersion> + + <SpirVAdditionalIncludeDirectories>$(MSBuildThisFileDirectory)common\shaders</SpirVAdditionalIncludeDirectories> + + </PropertyGroup> + + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <DefineConstants>TRACE;DEBUG;NETSTANDARD;NETSTANDARD2_0;_WITH_SHADOWS;WITH_VKVG</DefineConstants> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <DefineConstants>NETSTANDARD;NETSTANDARD2_0;WITH_SHADOWS;_WITH_VKVG</DefineConstants> + </PropertyGroup> + + <ItemGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <ProjectReference Include="$(RootDirectory)vke\CVKL.csproj" /> + </ItemGroup> + <ItemGroup > + <PackageReference Include="CVKL" Version="0.1.7-beta" Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "/> + </ItemGroup> + + <ItemGroup> + <PackageReference Include="SpirVTasks" Version="0.1.8-beta" /> + <PackageReference Include="Vulkan" Version="0.1.4" /> + </ItemGroup> + + <ItemGroup> + <GLSLShader Include="shaders\**\*.frag;shaders\**\*.vert;shaders\**\*.comp;shaders\**\*.geom" /> + </ItemGroup> + +</Project> diff --git a/vke/src/model/PbrModel.cs b/CVKL.Addons/gltfLoader/PbrModel.cs index d4b96ec..c576d61 100644 --- a/vke/src/model/PbrModel.cs +++ b/CVKL.Addons/gltfLoader/PbrModel.cs @@ -1,29 +1,6 @@ -// -// PbrModel.cs +// Copyright (c) 2019 Jean-Philippe Bruyère <jp_bruyere@hotmail.com> // -// Author: -// Jean-Philippe Bruyère <jp_bruyere@hotmail.com> -// -// Copyright (c) 2019 jp -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -using System; +// This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT) using System.Diagnostics; using System.Numerics; using System.Runtime.InteropServices; @@ -31,9 +8,7 @@ using System.Runtime.InteropServices; using VK; using System.Collections.Generic; -namespace CVKL { - using static VK.Utils; - +namespace CVKL.glTF { //TODO:stride in buffer views? public abstract class PbrModel : Model { public new struct Vertex { diff --git a/vke/src/model/PbrModelSeparateTextures.cs b/CVKL.Addons/gltfLoader/PbrModelSeparateTextures.cs index 240cd79..d5e7cbc 100644 --- a/vke/src/model/PbrModelSeparateTextures.cs +++ b/CVKL.Addons/gltfLoader/PbrModelSeparateTextures.cs @@ -1,28 +1,6 @@ -// -// PbrModel.cs +// Copyright (c) 2019 Jean-Philippe Bruyère <jp_bruyere@hotmail.com> // -// Author: -// Jean-Philippe Bruyère <jp_bruyere@hotmail.com> -// -// Copyright (c) 2019 jp -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. +// This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT) using System; using System.Diagnostics; using System.Numerics; @@ -31,7 +9,7 @@ using System.Runtime.InteropServices; using VK; using System.Collections.Generic; -namespace CVKL { +namespace CVKL.glTF { using static VK.Utils; /// <summary> diff --git a/vke/src/model/PbrModelTexArray.cs b/CVKL.Addons/gltfLoader/PbrModelTexArray.cs index 162182e..97f6c14 100644 --- a/vke/src/model/PbrModelTexArray.cs +++ b/CVKL.Addons/gltfLoader/PbrModelTexArray.cs @@ -1,29 +1,6 @@ -// -// PbrModel.cs +// Copyright (c) 2019 Jean-Philippe Bruyère <jp_bruyere@hotmail.com> // -// Author: -// Jean-Philippe Bruyère <jp_bruyere@hotmail.com> -// -// Copyright (c) 2019 jp -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -using System; +// This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT) using System.Diagnostics; using System.Numerics; using System.Runtime.InteropServices; @@ -31,7 +8,7 @@ using System.Runtime.InteropServices; using VK; using System.Collections.Generic; -namespace CVKL { +namespace CVKL.glTF { using static VK.Utils; /// <summary> diff --git a/CVKL.Addons/gltfLoader/Program.cs b/CVKL.Addons/gltfLoader/Program.cs new file mode 100644 index 0000000..6a0cfcd --- /dev/null +++ b/CVKL.Addons/gltfLoader/Program.cs @@ -0,0 +1,9 @@ +using System; + +namespace gltfLoader { + class Program { + static void Main (string[] args) { + Console.WriteLine ("Hello World!"); + } + } +} diff --git a/vke/src/model/glTFLoader.cs b/CVKL.Addons/gltfLoader/glTFLoader.cs index a841bf7..06e8ad6 100644 --- a/vke/src/model/glTFLoader.cs +++ b/CVKL.Addons/gltfLoader/glTFLoader.cs @@ -1,28 +1,6 @@ -// -// glTFLoader .cs +// Copyright (c) 2019 Jean-Philippe Bruyère <jp_bruyere@hotmail.com> // -// Author: -// Jean-Philippe Bruyère <jp_bruyere@hotmail.com> -// -// Copyright (c) 2019 jp -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. +// This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT) using System; using System.Diagnostics; using System.Numerics; @@ -36,7 +14,7 @@ using System.IO; -namespace CVKL { +namespace CVKL.glTF { using static VK.Utils; using static CVKL.Model; @@ -94,7 +72,7 @@ namespace CVKL { public Queue transferQ; public CommandPool cmdPool; - Device dev => transferQ.dev; + Device dev => transferQ.Dev; public GL.Gltf gltf; public string baseDirectory; @@ -474,8 +452,8 @@ namespace CVKL { VkImageLayout.Undefined, VkImageLayout.TransferSrcOptimal, VkPipelineStageFlags.Host, VkPipelineStageFlags.Transfer); - Vk.vkCmdBlitImage (cmd.Handle, vkimg.handle, VkImageLayout.TransferSrcOptimal, - texArray.handle, VkImageLayout.TransferDstOptimal, 1, ref imageBlit, VkFilter.Linear); + Vk.vkCmdBlitImage (cmd.Handle, vkimg.Handle, VkImageLayout.TransferSrcOptimal, + texArray.Handle, VkImageLayout.TransferDstOptimal, 1, ref imageBlit, VkFilter.Linear); cmd.End (); transferQ.Submit (cmd); @@ -503,8 +481,8 @@ namespace CVKL { VkImageLayout.TransferDstOptimal, VkImageLayout.TransferSrcOptimal, mipSubRange, VkPipelineStageFlags.Transfer, VkPipelineStageFlags.Transfer); - Vk.vkCmdBlitImage (cmd.Handle, texArray.handle, VkImageLayout.TransferSrcOptimal, - texArray.handle, VkImageLayout.TransferDstOptimal, 1, ref imageBlit, VkFilter.Linear); + Vk.vkCmdBlitImage (cmd.Handle, texArray.Handle, VkImageLayout.TransferSrcOptimal, + texArray.Handle, VkImageLayout.TransferDstOptimal, 1, ref imageBlit, VkFilter.Linear); texArray.SetLayout (cmd, VkImageLayout.TransferSrcOptimal, VkImageLayout.ShaderReadOnlyOptimal, mipSubRange, VkPipelineStageFlags.Transfer, VkPipelineStageFlags.FragmentShader); diff --git a/CVKL.Addons/gltfLoader/gltfLoader.csproj b/CVKL.Addons/gltfLoader/gltfLoader.csproj new file mode 100644 index 0000000..a439773 --- /dev/null +++ b/CVKL.Addons/gltfLoader/gltfLoader.csproj @@ -0,0 +1,21 @@ +<Project Sdk="Microsoft.NET.Sdk"> + <Import Project="$(RootDirectory)netfx.props" /> + <PropertyGroup> + <AssemblyName>CVKL.gltfLoader</AssemblyName> + <PackageId>CVKL.gltfLoader</PackageId> + <AssemblyVersion>0.1.6</AssemblyVersion> + <Description>CVKL gltf addons</Description> + <PackageTags>C# vulkan CVKL gltf</PackageTags> + <PackageVersion>$(AssemblyVersion)-beta</PackageVersion> + <GeneratePackageOnBuild>True</GeneratePackageOnBuild> + <PackageRequireLicenseAcceptance>False</PackageRequireLicenseAcceptance> + <PackageProjectUrl>https://github.com/jpbruyere/vk.net/blob/master/README.md</PackageProjectUrl> + <License>MIT</License> + <PackageReleaseNotes></PackageReleaseNotes> + <SynchReleaseVersion>false</SynchReleaseVersion> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + </PropertyGroup> + <ItemGroup> + <PackageReference Include="glTF2Loader" Version="1.1.3-alpha" /> + </ItemGroup> +</Project> diff --git a/SpirVTasks/SpirVTasks.csproj b/SpirVTasks/SpirVTasks.csproj index 5febb8d..f9fa944 100644 --- a/SpirVTasks/SpirVTasks.csproj +++ b/SpirVTasks/SpirVTasks.csproj @@ -1,7 +1,7 @@ <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFrameworks>net471;netstandard2.0</TargetFrameworks> - <AssemblyVersion>0.1.6</AssemblyVersion> + <AssemblyVersion>0.1.8</AssemblyVersion> <Description>MSBuild addon to compile and embed spirV shaders</Description> <PackageId>SpirVTasks</PackageId> @@ -19,6 +19,7 @@ <EnableDefaultNoneItems>false</EnableDefaultNoneItems> <EnableDefaultCompileItems>true</EnableDefaultCompileItems> + <AssemblyName>SpirVTasks_$(TargetFramework)</AssemblyName> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.Build.Utilities.Core" Version="16.0.461" /> @@ -27,12 +28,7 @@ <Content Include="SpirVTasks.targets"> <Pack>true</Pack> <IncludeInPackage>true</IncludeInPackage> - <PackagePath>build\net471\</PackagePath> - </Content> - <Content Include="SpirVTasks.targets"> - <Pack>true</Pack> - <IncludeInPackage>true</IncludeInPackage> - <PackagePath>build\netstandard2.0\</PackagePath> + <PackagePath>build\</PackagePath> </Content> <Content Include="spirv.xml"> <Pack>true</Pack> diff --git a/SpirVTasks/SpirVTasks.targets b/SpirVTasks/SpirVTasks.targets index 8f7ae56..a6e2a06 100644 --- a/SpirVTasks/SpirVTasks.targets +++ b/SpirVTasks/SpirVTasks.targets @@ -1,7 +1,7 @@ <Project> - <UsingTask AssemblyFile="$(MSBuildThisFileDirectory)..\..\lib\$(TargetFramework)\SpirVTasks.dll" TaskName="SpirVTasks.CompileGLSLTask" /> + <UsingTask AssemblyFile="$(MSBuildThisFileDirectory)..\lib\$(TargetFramework)\SpirVTasks_$(TargetFramework).dll" TaskName="SpirVTasks.CompileGLSLTask" /> <ItemGroup> - <PropertyPageSchema Include="$(MSBuildThisFileDirectory)..\spirv.xml" /> + <PropertyPageSchema Include="$(MSBuildThisFileDirectory)spirv.xml" /> <AvailableItemName Include="GLSLShader"> <Targets>DXC</Targets> </AvailableItemName> diff --git a/samples/Directory.Build.props b/samples/Directory.Build.props index 3a38b39..6a8fdd3 100644 --- a/samples/Directory.Build.props +++ b/samples/Directory.Build.props @@ -1,22 +1,22 @@ <Project> - <PropertyGroup> - <RootDirectory>$(MSBuildThisFileDirectory)../</RootDirectory> - <Deterministic>true</Deterministic> - - <TargetFrameworks>net471;netstandard2.0</TargetFrameworks> - + <PropertyGroup> + <RootDirectory>$(MSBuildThisFileDirectory)../</RootDirectory> + <Deterministic>true</Deterministic> + + <TargetFrameworks>net471;netstandard2.0</TargetFrameworks> + <RepositoryUrl>https://github.com/jpbruyere/vk.net</RepositoryUrl> <License>MIT</License> - <Authors>Jean-Philippe Bruyère</Authors> - - <OutputPath>$(SolutionDir)build\$(Configuration)\</OutputPath> - <OutputType>Exe</OutputType> - <AllowUnsafeBlocks>true</AllowUnsafeBlocks> - <IncludeDefaultNoneItems>false</IncludeDefaultNoneItems> - - <SpirVAdditionalIncludeDirectories>$(MSBuildThisFileDirectory)common\shaders</SpirVAdditionalIncludeDirectories> + <Authors>Jean-Philippe Bruyère</Authors> + + <OutputPath>$(SolutionDir)build\$(Configuration)\</OutputPath> + <OutputType>Exe</OutputType> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <IncludeDefaultNoneItems>false</IncludeDefaultNoneItems> - </PropertyGroup> + <SpirVAdditionalIncludeDirectories>$(MSBuildThisFileDirectory)common\shaders</SpirVAdditionalIncludeDirectories> + + </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DefineConstants>TRACE;DEBUG;NETSTANDARD;NETSTANDARD2_0;_WITH_SHADOWS;WITH_VKVG</DefineConstants> @@ -24,17 +24,16 @@ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DefineConstants>NETSTANDARD;NETSTANDARD2_0;WITH_SHADOWS;_WITH_VKVG</DefineConstants> </PropertyGroup> - -<!-- <ItemGroup Condition="$(TargetFramework.StartsWith('net4'))"> - <Reference Include="System" /> - </ItemGroup> --> - <ItemGroup> + <ItemGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <ProjectReference Include="$(RootDirectory)vke\CVKL.csproj" /> - </ItemGroup> + </ItemGroup> + <ItemGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PackageReference Include="CVKL" Version="0.1.7-beta" /> + </ItemGroup> <ItemGroup> - <PackageReference Include="SpirVTasks" Version="0.1.6-beta" /> + <PackageReference Include="SpirVTasks" Version="0.1.8-beta" /> <PackageReference Include="Vulkan" Version="0.1.4" /> </ItemGroup> diff --git a/samples/Model/Model.csproj b/samples/Model/Model.csproj index 7007288..c938f67 100644 --- a/samples/Model/Model.csproj +++ b/samples/Model/Model.csproj @@ -1,7 +1,7 @@ <Project Sdk="Microsoft.NET.Sdk"> <Import Project="$(RootDirectory)netfx.props" /> <ItemGroup> - <PackageReference Include="glTF2Loader" Version="1.1.3-alpha" /> - </ItemGroup> + <ProjectReference Include="..\..\CVKL.Addons\gltfLoader\gltfLoader.csproj" /> + </ItemGroup> </Project> diff --git a/samples/Model/main.cs b/samples/Model/main.cs index 5008afa..b9b322c 100644 --- a/samples/Model/main.cs +++ b/samples/Model/main.cs @@ -194,7 +194,7 @@ namespace ModelSample { dev = transferQ.Dev; using (CommandPool cmdPool = new CommandPool (dev, transferQ.index)) { - using (CVKL.glTFLoader ctx = new CVKL.glTFLoader (path, transferQ, cmdPool)) { + using (CVKL.glTF.glTFLoader ctx = new CVKL.glTF.glTFLoader(path, transferQ, cmdPool)) { ulong vertexCount, indexCount; ctx.GetVertexCount (out vertexCount, out indexCount, out IndexBufferType); diff --git a/samples/Triangle/main.cs b/samples/Triangle/main.cs index 90065e4..893a296 100644 --- a/samples/Triangle/main.cs +++ b/samples/Triangle/main.cs @@ -80,8 +80,9 @@ namespace Triangle { pipeline = new GraphicPipeline (cfg); //note that descriptor set is allocated after the pipeline creation that use this layout, layout is activated - //automaticaly on pipeline creation. + //automaticaly on pipeline creation, and will be disposed automatically when no longuer in use. descriptorSet = descriptorPool.Allocate (dsLayout); + DescriptorSetWrites uboUpdate = new DescriptorSetWrites (descriptorSet, dsLayout); uboUpdate.Write (dev, uboMats.Descriptor); diff --git a/samples/datas/datas.csproj b/samples/datas/datas.csproj index 2c6b4b9..042e7bf 100644 --- a/samples/datas/datas.csproj +++ b/samples/datas/datas.csproj @@ -2,6 +2,7 @@ <PropertyGroup> <TargetFrameworks>net471;netstandard2.0</TargetFrameworks> <ProjectGuid>{0819E729-64D0-4D96-B7A7-FFDE86639977}</ProjectGuid> + <OutputType>Exe</OutputType> </PropertyGroup> <ItemGroup> diff --git a/samples/deferred/DeferredPbrRenderer.cs b/samples/deferred/DeferredPbrRenderer.cs index 9765bd0..fad2cbd 100644 --- a/samples/deferred/DeferredPbrRenderer.cs +++ b/samples/deferred/DeferredPbrRenderer.cs @@ -2,6 +2,7 @@ using System.Numerics; using System.Runtime.InteropServices; using CVKL; +using CVKL.glTF; using VK; namespace deferred { diff --git a/samples/deferred/deferred.csproj b/samples/deferred/deferred.csproj index 1aa59b5..58c2b9d 100644 --- a/samples/deferred/deferred.csproj +++ b/samples/deferred/deferred.csproj @@ -37,4 +37,7 @@ <ItemGroup> <Folder Include="shaders\" /> </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\..\CVKL.Addons\gltfLoader\gltfLoader.csproj" /> + </ItemGroup> </Project>
\ No newline at end of file diff --git a/samples/deferred/main.cs b/samples/deferred/main.cs index e11bdf0..5ea0a37 100644 --- a/samples/deferred/main.cs +++ b/samples/deferred/main.cs @@ -2,6 +2,7 @@ using System.Numerics; using System.Runtime.InteropServices; using CVKL; +using CVKL.glTF; using Glfw; using VK; diff --git a/samples/deferred/shadowMapRenderer.cs b/samples/deferred/shadowMapRenderer.cs index 2c267d9..a4684ec 100644 --- a/samples/deferred/shadowMapRenderer.cs +++ b/samples/deferred/shadowMapRenderer.cs @@ -7,6 +7,7 @@ using System; using System.Numerics; using System.Runtime.InteropServices; using CVKL; +using CVKL.glTF; using VK; using static deferred.DeferredPbrRenderer; diff --git a/samples/pbr/PbrModel.cs b/samples/pbr/PbrModel.cs index 3ed1cf3..766ded5 100644 --- a/samples/pbr/PbrModel.cs +++ b/samples/pbr/PbrModel.cs @@ -59,7 +59,7 @@ namespace CVKL { public PbrModel2 (Queue transferQ, string path) { dev = transferQ.Dev; using (CommandPool cmdPool = new CommandPool (dev, transferQ.index)) { - using (glTFLoader ctx = new glTFLoader (path, transferQ, cmdPool)) { + using (glTF.glTFLoader ctx = new glTF.glTFLoader (path, transferQ, cmdPool)) { ulong vertexCount, indexCount; ctx.GetVertexCount (out vertexCount, out indexCount, out IndexBufferType); @@ -82,7 +82,7 @@ namespace CVKL { public PbrModel2 (Queue transferQ, string path, DescriptorSetLayout layout, params AttachmentType[] attachments) { dev = transferQ.Dev; using (CommandPool cmdPool = new CommandPool (dev, transferQ.index)) { - using (glTFLoader ctx = new glTFLoader (path, transferQ, cmdPool)) { + using (glTF.glTFLoader ctx = new glTF.glTFLoader (path, transferQ, cmdPool)) { ulong vertexCount, indexCount; ctx.GetVertexCount (out vertexCount, out indexCount, out IndexBufferType); @@ -108,8 +108,8 @@ namespace CVKL { } } - void loadMaterials (glTFLoader ctx, DescriptorSetLayout layout, params AttachmentType[] attachments) { - glTFLoader.Material[] mats = ctx.LoadMaterial (); + void loadMaterials (glTF.glTFLoader ctx, DescriptorSetLayout layout, params AttachmentType[] attachments) { + glTF.glTFLoader.Material[] mats = ctx.LoadMaterial (); materials = new PbrMaterial[mats.Length]; descriptorSets = new DescriptorSet[mats.Length]; diff --git a/samples/pbr/pbr.csproj b/samples/pbr/pbr.csproj index 274e32a..6365e75 100644 --- a/samples/pbr/pbr.csproj +++ b/samples/pbr/pbr.csproj @@ -8,7 +8,10 @@ <ItemGroup> <PackageReference Include="vkvg.net" Version="0.2.2-beta" /> </ItemGroup> - + + <ItemGroup> + <ProjectReference Include="..\..\CVKL.Addons\gltfLoader\gltfLoader.csproj" /> + </ItemGroup> <ItemGroup> <EmbeddedResource Include="ui\**\*.*"> @@ -27,13 +27,17 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vk.rewrite", "vk.rewrite\vk EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vulkan", "VK\vulkan.csproj", "{37D01BE5-5FE2-4742-BD5B-5D2C25FCF146}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "datas", "samples\datas\datas.csproj", "{0819E729-64D0-4D96-B7A7-FFDE86639977}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CVKL.Addons", "CVKL.Addons", "{95E6BE33-0082-4E01-B064-864B411FD6B8}" EndProject -Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "hdr", "samples\hdr\hdr.csproj", "{32CB9C37-4037-4844-95A7-17BD9B49CDFA}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "gltfLoader", "CVKL.Addons\gltfLoader\gltfLoader.csproj", "{39E7BD7A-0489-4681-ACBD-6CEE13C6C9C2}" EndProject -Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "tests", "samples\tests\tests.csproj", "{9DFD3F42-DFC8-4AC7-8DF7-1A87F9596C1B}" +Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "hdr", "samples\hdr\hdr.csproj", "{F954B758-2031-42EA-93CE-7283B6BF45A5}" EndProject -Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "vkvg_tests", "samples\vkvg_tests\vkvg_tests.csproj", "{06769B6B-8270-4A53-BF05-11C2124AC7BB}" +Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "tests", "samples\tests\tests.csproj", "{58224D63-D87A-4D91-9753-CDDF418203D6}" +EndProject +Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "vkvg_tests", "samples\vkvg_tests\vkvg_tests.csproj", "{B666FE3E-50EF-4A5F-ADC1-A178C326321F}" +EndProject +Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "datas", "samples\datas\datas.csproj", "{F9CD3147-68C8-4F0A-BDCD-B7E288B79DE9}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -117,26 +121,34 @@ Global {37D01BE5-5FE2-4742-BD5B-5D2C25FCF146}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU {37D01BE5-5FE2-4742-BD5B-5D2C25FCF146}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU {37D01BE5-5FE2-4742-BD5B-5D2C25FCF146}.BuildPackages|Any CPU.Build.0 = Release|Any CPU - {0819E729-64D0-4D96-B7A7-FFDE86639977}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {0819E729-64D0-4D96-B7A7-FFDE86639977}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0819E729-64D0-4D96-B7A7-FFDE86639977}.Release|Any CPU.ActiveCfg = Release|Any CPU - {0819E729-64D0-4D96-B7A7-FFDE86639977}.Release|Any CPU.Build.0 = Release|Any CPU - {32CB9C37-4037-4844-95A7-17BD9B49CDFA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {32CB9C37-4037-4844-95A7-17BD9B49CDFA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {32CB9C37-4037-4844-95A7-17BD9B49CDFA}.Release|Any CPU.ActiveCfg = Release|Any CPU - {32CB9C37-4037-4844-95A7-17BD9B49CDFA}.Release|Any CPU.Build.0 = Release|Any CPU - {32CB9C37-4037-4844-95A7-17BD9B49CDFA}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU - {32CB9C37-4037-4844-95A7-17BD9B49CDFA}.BuildPackages|Any CPU.ActiveCfg = Debug|Any CPU - {9DFD3F42-DFC8-4AC7-8DF7-1A87F9596C1B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {9DFD3F42-DFC8-4AC7-8DF7-1A87F9596C1B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {9DFD3F42-DFC8-4AC7-8DF7-1A87F9596C1B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {9DFD3F42-DFC8-4AC7-8DF7-1A87F9596C1B}.Release|Any CPU.Build.0 = Release|Any CPU - {9DFD3F42-DFC8-4AC7-8DF7-1A87F9596C1B}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU - {9DFD3F42-DFC8-4AC7-8DF7-1A87F9596C1B}.BuildPackages|Any CPU.ActiveCfg = Debug|Any CPU - {06769B6B-8270-4A53-BF05-11C2124AC7BB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {06769B6B-8270-4A53-BF05-11C2124AC7BB}.Release|Any CPU.ActiveCfg = Release|Any CPU - {06769B6B-8270-4A53-BF05-11C2124AC7BB}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU - {06769B6B-8270-4A53-BF05-11C2124AC7BB}.BuildPackages|Any CPU.ActiveCfg = Debug|Any CPU + {39E7BD7A-0489-4681-ACBD-6CEE13C6C9C2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {39E7BD7A-0489-4681-ACBD-6CEE13C6C9C2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {39E7BD7A-0489-4681-ACBD-6CEE13C6C9C2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {39E7BD7A-0489-4681-ACBD-6CEE13C6C9C2}.Release|Any CPU.Build.0 = Release|Any CPU + {39E7BD7A-0489-4681-ACBD-6CEE13C6C9C2}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU + {39E7BD7A-0489-4681-ACBD-6CEE13C6C9C2}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU + {39E7BD7A-0489-4681-ACBD-6CEE13C6C9C2}.BuildPackages|Any CPU.ActiveCfg = Debug|Any CPU + {39E7BD7A-0489-4681-ACBD-6CEE13C6C9C2}.BuildPackages|Any CPU.Build.0 = Debug|Any CPU + {F954B758-2031-42EA-93CE-7283B6BF45A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F954B758-2031-42EA-93CE-7283B6BF45A5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F954B758-2031-42EA-93CE-7283B6BF45A5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F954B758-2031-42EA-93CE-7283B6BF45A5}.Release|Any CPU.Build.0 = Release|Any CPU + {F954B758-2031-42EA-93CE-7283B6BF45A5}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU + {F954B758-2031-42EA-93CE-7283B6BF45A5}.BuildPackages|Any CPU.ActiveCfg = Debug|Any CPU + {58224D63-D87A-4D91-9753-CDDF418203D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {58224D63-D87A-4D91-9753-CDDF418203D6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {58224D63-D87A-4D91-9753-CDDF418203D6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {58224D63-D87A-4D91-9753-CDDF418203D6}.Release|Any CPU.Build.0 = Release|Any CPU + {58224D63-D87A-4D91-9753-CDDF418203D6}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU + {58224D63-D87A-4D91-9753-CDDF418203D6}.BuildPackages|Any CPU.ActiveCfg = Debug|Any CPU + {B666FE3E-50EF-4A5F-ADC1-A178C326321F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B666FE3E-50EF-4A5F-ADC1-A178C326321F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B666FE3E-50EF-4A5F-ADC1-A178C326321F}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU + {B666FE3E-50EF-4A5F-ADC1-A178C326321F}.BuildPackages|Any CPU.ActiveCfg = Debug|Any CPU + {F9CD3147-68C8-4F0A-BDCD-B7E288B79DE9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F9CD3147-68C8-4F0A-BDCD-B7E288B79DE9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F9CD3147-68C8-4F0A-BDCD-B7E288B79DE9}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F9CD3147-68C8-4F0A-BDCD-B7E288B79DE9}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(NestedProjects) = preSolution {3CFF99D3-8C0E-4B37-9146-9A7ED9D28CAA} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354} @@ -146,10 +158,11 @@ Global {C7188E6F-DB14-4F01-81F4-52E3159D33CF} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354} {019EDFD7-7700-4513-A1DF-74F882463E2A} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354} {CB21E2C4-C56E-49AE-9423-FCE2E75DEA0A} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354} - {0819E729-64D0-4D96-B7A7-FFDE86639977} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354} - {32CB9C37-4037-4844-95A7-17BD9B49CDFA} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354} - {9DFD3F42-DFC8-4AC7-8DF7-1A87F9596C1B} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354} - {06769B6B-8270-4A53-BF05-11C2124AC7BB} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354} + {39E7BD7A-0489-4681-ACBD-6CEE13C6C9C2} = {95E6BE33-0082-4E01-B064-864B411FD6B8} + {F954B758-2031-42EA-93CE-7283B6BF45A5} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354} + {58224D63-D87A-4D91-9753-CDDF418203D6} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354} + {B666FE3E-50EF-4A5F-ADC1-A178C326321F} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354} + {F9CD3147-68C8-4F0A-BDCD-B7E288B79DE9} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354} EndGlobalSection GlobalSection(MonoDevelopProperties) = preSolution Policies = $0 @@ -176,7 +189,6 @@ Global $3.DirectoryNamespaceAssociation = PrefixedHierarchical $0.TextStylePolicy = $4 $4.FileWidth = 80 - $4.TabsToSpaces = True $4.scope = text/plain $0.TextStylePolicy = $5 $5.inheritsSet = null @@ -186,5 +198,11 @@ Global $6.scope = application/config+xml $0.StandardHeader = $7 $7.Text = @Copyright (c) ${Year} ${AuthorName} <${AuthorEmail}>\n\nThis code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT) + $0.TextStylePolicy = $8 + $8.inheritsSet = null + $8.scope = application/x-msbuild + $0.XmlFormattingPolicy = $9 + $9.inheritsSet = null + $9.scope = application/x-msbuild EndGlobalSection EndGlobal diff --git a/vke/CVKL.csproj b/vke/CVKL.csproj index 9c556c0..465fd48 100644 --- a/vke/CVKL.csproj +++ b/vke/CVKL.csproj @@ -1,59 +1,47 @@ +<?xml version="1.0" encoding="utf-8"?> <Project Sdk="Microsoft.NET.Sdk"> - <Import Project="$(RootDirectory)netfx.props" /> - <PropertyGroup> - <AssemblyVersion>0.1.6</AssemblyVersion> - <Description>C# vulkan library with IDispose model and references counting</Description> - <Product>CVKL</Product> - <PackageId>CVKL</PackageId> - <PackageTags>C# vulkan game library compute glfw</PackageTags> - <PackageVersion>$(AssemblyVersion)</PackageVersion> - <GeneratePackageOnBuild>True</GeneratePackageOnBuild> - <PackageRequireLicenseAcceptance>False</PackageRequireLicenseAcceptance> - <PackageProjectUrl>https://github.com/jpbruyere/vk.net/blob/master/README.md</PackageProjectUrl> - <PackageLicense>https://opensource.org/licenses/MIT</PackageLicense> - <PackageReleaseNotes></PackageReleaseNotes> - <!--<PackageIconUrl>https://github.com/KhronosGroup/glTF/blob/master/specification/figures/gltf.png</PackageIconUrl>--> - <SynchReleaseVersion>false</SynchReleaseVersion> - <AssemblyName>CVKL</AssemblyName> - <OutputPath>$(SolutionDir)build\$(Configuration)\</OutputPath> - <AllowUnsafeBlocks>true</AllowUnsafeBlocks> - - </PropertyGroup> - - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - <WarningLevel>4</WarningLevel> - <DebugType>full</DebugType> - <Optimize>false</Optimize> - <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow> - <DefineConstants>MEMORY_POOLS;NETSTANDARD;NETSTANDARD2_0;DEBUG;NETFRAMEWORK;NET471</DefineConstants> - </PropertyGroup> - - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> - <Optimize>true</Optimize> - <DefineConstants>MEMORY_POOLS</DefineConstants> - </PropertyGroup> - -<!-- <ItemGroup Condition="$(TargetFramework.StartsWith('net4'))"> - <Reference Include="System" /> - <Reference Include="System.Runtime" /> - <Reference Include="System.Core" /> - </ItemGroup>--> - <ItemGroup Condition="$(TargetFramework.StartsWith('netstandard'))"> - <PackageReference Include="System.Numerics.Vectors" Version="4.6.0-preview4.19212.13" /> - </ItemGroup> - <ItemGroup> - <PackageReference Include="glTF2Loader" Version="1.1.3-alpha" /> - <PackageReference Include="Vulkan" Version="0.1.4" /> -<!-- <ProjectReference Include="$(SolutionDir)SpirVTask\SpirVTasks.csproj" />--> - </ItemGroup> - <ItemGroup> - <Compile Remove="Properties\AssemblyInfo.cs;src\Renderer.cs;src\QueueFamily.cs" /> - </ItemGroup> - - <ItemGroup> - <Folder Include="src\base\" /> - </ItemGroup> - <ItemGroup> -<!-- --> - </ItemGroup> -</Project> + <Import Project="$(RootDirectory)netfx.props" /> + <PropertyGroup> + <AssemblyName>CVKL</AssemblyName> + <Product>CVKL</Product> + <PackageId>CVKL</PackageId> + <AssemblyVersion>0.1.7</AssemblyVersion> + <Description>C# vulkan library with IDispose model and references counting</Description> + <PackageTags>C# vulkan game library compute glfw</PackageTags> + <PackageVersion>$(AssemblyVersion)-beta</PackageVersion> + <GeneratePackageOnBuild>True</GeneratePackageOnBuild> + <PackageRequireLicenseAcceptance>False</PackageRequireLicenseAcceptance> + <PackageProjectUrl>https://github.com/jpbruyere/vk.net/blob/master/README.md</PackageProjectUrl> + <License>MIT</License> + <PackageReleaseNotes> + </PackageReleaseNotes> + <!--<PackageIconUrl>https://github.com/KhronosGroup/glTF/blob/master/specification/figures/gltf.png</PackageIconUrl>--> + <SynchReleaseVersion>false</SynchReleaseVersion> + <OutputPath>$(SolutionDir)build\$(Configuration)\</OutputPath> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + </PropertyGroup> + + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <WarningLevel>4</WarningLevel> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow> + <DefineConstants>MEMORY_POOLS;NETSTANDARD;NETSTANDARD2_0;DEBUG;NETFRAMEWORK;NET471</DefineConstants> + </PropertyGroup> + + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <Optimize>true</Optimize> + <DefineConstants>MEMORY_POOLS</DefineConstants> + </PropertyGroup> + + <ItemGroup Condition="$(TargetFramework.StartsWith('netstandard'))"> + <PackageReference Include="System.Numerics.Vectors" Version="4.5.0" /> + </ItemGroup> + + <ItemGroup> + <PackageReference Include="Vulkan" Version="0.1.4" /> + </ItemGroup> + <ItemGroup> + <Compile Remove="Properties\AssemblyInfo.cs;src\Renderer.cs;src\QueueFamily.cs" /> + </ItemGroup> +</Project>
\ No newline at end of file |