diff options
| author | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2019-08-28 16:21:22 +0200 |
|---|---|---|
| committer | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2019-08-28 16:21:22 +0200 |
| commit | a20b4729bfbd50feaa1054d3aa2093ae86ac30fb (patch) | |
| tree | c79f575e51442f0ffd2a31050b72892500567145 | |
| parent | 9c166c3c6ed7239e0743049f753426cc2730dc4b (diff) | |
shaders compiled as resources with project name prefix
29 files changed, 112 insertions, 89 deletions
diff --git a/Directory.Build.targets b/Directory.Build.targets index 08fd921..eadc029 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -16,17 +16,21 @@ <CompileGLSLTask SourceFile="%(GLSLShader.Identity)" AdditionalIncludeDirectories="$(MSBuildThisFileDirectory)samples\common\shaders" TempDirectory="$(IntermediateOutputPath)" - DestinationFile="$(OutputPath)%(RelativeDir)%(Filename)%(Extension).spv" /> -<!-- <Exec Command="glslc %(GLSLShader.Identity) -o $(OutputPath)%(RelativeDir)%(Filename)%(Extension).spv" - ConsoleToMSBuild="true" EchoOff="true" Outputs="$(OutputPath)%(RelativeDir)%(Filename)%(Extension).spv"> - <Output TaskParameter="ConsoleOutput" PropertyName="OutputOfExec" /> - </Exec>--> - <!--<CreateItem - Include="$(OutputPath)%(GLSLShader.RelativeDir)%(Filename)%(Extension).spv"> - <Output + DestinationFile="$(IntermediateOutputPath)%(RelativeDir)%(Filename)%(Extension).spv" /> + <CreateItem + Include="$(IntermediateOutputPath)%(GLSLShader.RelativeDir)%(Filename)%(Extension).spv"> + <Output TaskParameter="Include" ItemName="EmbeddedResource"/> + </CreateItem> - <Message Importance="High" Text="Embedding $(OutputPath)%(GLSLShader.RelativeDir)%(Filename)%(Extension).spv" />--> + <Message Importance="High" Text="Embedding $(IntermediateOutputPath)%(GLSLShader.RelativeDir)%(Filename)%(Extension).spv" /> + </Target> + <Target Name="ModifyEmbeddedResourceNames" AfterTargets="CompileShaders"> + <ItemGroup> + <EmbeddedResource> + <LogicalName>$(AssemblyName).%(EmbeddedResource.Filename)%(Extension)</LogicalName> + </EmbeddedResource> + </ItemGroup> </Target> </Project> diff --git a/SpirVTask/CompileGLSLTask.cs b/SpirVTask/CompileGLSLTask.cs index f0f4e2c..ad51ce6 100644 --- a/SpirVTask/CompileGLSLTask.cs +++ b/SpirVTask/CompileGLSLTask.cs @@ -89,8 +89,8 @@ namespace SpirVTasks { return false; } - //foreach (string item in SourceFile.MetadataNames) { - // Log.LogMessage (MessageImportance.High, $"METADATA name: {item}"); + //foreach (string item in DestinationFile.MetadataNames) { + // Log.LogMessage (MessageImportance.High, $"METADATA name: {item} = {DestinationFile.GetMetadata(item)}"); //} string tempFile = Path.Combine (TempDirectory.ItemSpec, SourceFile.ItemSpec); diff --git a/SpirVTasks.dll b/SpirVTasks.dll Binary files differindex 4dfbddd..cd37fc5 100644 --- a/SpirVTasks.dll +++ b/SpirVTasks.dll diff --git a/samples/Model/main.cs b/samples/Model/main.cs index 02dc7be..73aca7c 100644 --- a/samples/Model/main.cs +++ b/samples/Model/main.cs @@ -7,11 +7,11 @@ using VK; namespace ModelSample { class Program : VkWindow { static void Main (string[] args) { - +#if DEBUG Instance.VALIDATION = true; Instance.DEBUG_UTILS = true; - //Instance.RENDER_DOC_CAPTURE = true; - + Instance.RENDER_DOC_CAPTURE = false; +#endif using (Program vke = new Program ()) { vke.Run (); } @@ -83,8 +83,8 @@ namespace ModelSample { cfg.AddVertexBinding<Model.Vertex> (0); cfg.AddVertexAttributes (0, VkFormat.R32g32b32Sfloat, VkFormat.R32g32b32Sfloat, VkFormat.R32g32Sfloat); - cfg.AddShader (VkShaderStageFlags.Vertex, "shaders/model.vert.spv"); - cfg.AddShader (VkShaderStageFlags.Fragment, "shaders/model.frag.spv"); + cfg.AddShader (VkShaderStageFlags.Vertex, "#Model.model.vert.spv"); + cfg.AddShader (VkShaderStageFlags.Fragment, "#Model.model.frag.spv"); pipeline = new GraphicPipeline (cfg); diff --git a/samples/Textured/main.cs b/samples/Textured/main.cs index f14e5b8..3f8a3b4 100644 --- a/samples/Textured/main.cs +++ b/samples/Textured/main.cs @@ -5,12 +5,14 @@ using Glfw; using CVKL; using VK; -namespace TextureSample { +namespace Textured { class Program : VkWindow { static void Main (string[] args) { +#if DEBUG Instance.VALIDATION = true; Instance.DEBUG_UTILS = true; - //Instance.RENDER_DOC_CAPTURE = true; + Instance.RENDER_DOC_CAPTURE = false; +#endif using (Program vke = new Program ()) { vke.Run (); } @@ -88,8 +90,8 @@ namespace TextureSample { cfg.AddVertexBinding (0, 5 * sizeof(float)); cfg.AddVertexAttributes (0, VkFormat.R32g32b32Sfloat, VkFormat.R32g32Sfloat); - cfg.AddShader (VkShaderStageFlags.Vertex, "shaders/main.vert.spv"); - cfg.AddShader (VkShaderStageFlags.Fragment, "shaders/main.frag.spv"); + cfg.AddShader (VkShaderStageFlags.Vertex, "#Textured.main.vert.spv"); + cfg.AddShader (VkShaderStageFlags.Fragment, "#Textured.main.frag.spv"); pipeline = new GraphicPipeline (cfg); diff --git a/samples/TexturedCube/main.cs b/samples/TexturedCube/main.cs index e348128..2b98292 100644 --- a/samples/TexturedCube/main.cs +++ b/samples/TexturedCube/main.cs @@ -9,11 +9,11 @@ using Buffer = CVKL.Buffer; namespace TextureCube { class Program : VkWindow { static void Main (string[] args) { - - /*Instance.VALIDATION = true; +#if DEBUG + Instance.VALIDATION = true; Instance.DEBUG_UTILS = true; - Instance.RENDER_DOC_CAPTURE = true;*/ - + Instance.RENDER_DOC_CAPTURE = false; +#endif using (Program vke = new Program ()) { vke.Run (); } @@ -211,14 +211,14 @@ namespace TextureCube { cfg.AddVertexBinding (0, 5 * sizeof(float)); cfg.AddVertexAttributes (0, VkFormat.R32g32b32Sfloat, VkFormat.R32g32Sfloat); - cfg.AddShader (VkShaderStageFlags.Vertex, "shaders/skybox.vert.spv"); - cfg.AddShader (VkShaderStageFlags.Fragment, "shaders/skybox.frag.spv"); + cfg.AddShader (VkShaderStageFlags.Vertex, "#TexturedCube.skybox.vert.spv"); + cfg.AddShader (VkShaderStageFlags.Fragment, "#TexturedCube.skybox.frag.spv"); pipeline = new GraphicPipeline (cfg); cfg.ResetShadersAndVerticesInfos (); - cfg.AddShader (VkShaderStageFlags.Vertex, "shaders/FullScreenQuad.vert.spv"); - cfg.AddShader (VkShaderStageFlags.Fragment, "shaders/simpletexture.frag.spv"); + cfg.AddShader (VkShaderStageFlags.Vertex, "#TexturedCube.FullScreenQuad.vert.spv"); + cfg.AddShader (VkShaderStageFlags.Fragment, "#TexturedCube.simpletexture.frag.spv"); cfg.blendAttachments[0] = new VkPipelineColorBlendAttachmentState (true); diff --git a/samples/Triangle/main.cs b/samples/Triangle/main.cs index 877c1c4..90065e4 100644 --- a/samples/Triangle/main.cs +++ b/samples/Triangle/main.cs @@ -9,9 +9,11 @@ using VK; namespace Triangle { class Program : VkWindow { static void Main (string[] args) { - //Instance.RENDER_DOC_CAPTURE = true; +#if DEBUG Instance.VALIDATION = true; Instance.DEBUG_UTILS = true; + Instance.RENDER_DOC_CAPTURE = false; +#endif using (Program vke = new Program ()) { vke.Run (); @@ -72,8 +74,8 @@ namespace Triangle { cfg.AddVertexBinding<Vertex> (0); cfg.AddVertexAttributes (0, VkFormat.R32g32b32Sfloat, VkFormat.R32g32b32Sfloat); - cfg.AddShader (VkShaderStageFlags.Vertex, "shaders/triangle.vert.spv"); - cfg.AddShader (VkShaderStageFlags.Fragment, "shaders/triangle.frag.spv"); + cfg.AddShader (VkShaderStageFlags.Vertex, "#Triangle.main.vert.spv"); + cfg.AddShader (VkShaderStageFlags.Fragment, "#Triangle.main.frag.spv"); pipeline = new GraphicPipeline (cfg); diff --git a/samples/Triangle/shaders/triangle.frag b/samples/Triangle/shaders/main.frag index 5ff09f5..5ff09f5 100644 --- a/samples/Triangle/shaders/triangle.frag +++ b/samples/Triangle/shaders/main.frag diff --git a/samples/Triangle/shaders/triangle.vert b/samples/Triangle/shaders/main.vert index 542d015..542d015 100644 --- a/samples/Triangle/shaders/triangle.vert +++ b/samples/Triangle/shaders/main.vert diff --git a/samples/common/CrowWin.cs b/samples/common/CrowWin.cs index 42cf2cd..4eb8730 100644 --- a/samples/common/CrowWin.cs +++ b/samples/common/CrowWin.cs @@ -65,8 +65,8 @@ namespace Crow { CVKL.GraphicPipelineConfig cfg = CVKL.GraphicPipelineConfig.CreateDefault (VkPrimitiveTopology.TriangleList, samples, false); cfg.Layout = new CVKL.PipelineLayout (dev, descLayout); cfg.RenderPass = new CVKL.RenderPass (dev, swapChain.ColorFormat, samples); - cfg.AddShader (VkShaderStageFlags.Vertex, "shaders/FullScreenQuad.vert.spv"); - cfg.AddShader (VkShaderStageFlags.Fragment, "shaders/simpletexture.frag.spv"); + cfg.AddShader (VkShaderStageFlags.Vertex, "#deferred.FullScreenQuad.vert.spv"); + cfg.AddShader (VkShaderStageFlags.Fragment, "#deferred.simpletexture.frag.spv"); cfg.blendAttachments[0] = new VkPipelineColorBlendAttachmentState (true); diff --git a/samples/compute/compute.csproj b/samples/compute/compute.csproj index 3f93177..e1734ff 100644 --- a/samples/compute/compute.csproj +++ b/samples/compute/compute.csproj @@ -5,6 +5,6 @@ </PropertyGroup> <ItemGroup> - <Compile Include="test.cs" /> + <Compile Include="delaunay.cs" /> </ItemGroup> </Project>
\ No newline at end of file diff --git a/samples/compute/delaunay.cs b/samples/compute/delaunay.cs index e7fc188..a01cd85 100644 --- a/samples/compute/delaunay.cs +++ b/samples/compute/delaunay.cs @@ -6,6 +6,11 @@ using CVKL; namespace delaunay { class Program : VkWindow { static void Main (string[] args) { +#if DEBUG + Instance.VALIDATION = true; + Instance.DEBUG_UTILS = true; + Instance.RENDER_DOC_CAPTURE = false; +#endif using (Program vke = new Program ()) { vke.Run (); } @@ -92,8 +97,8 @@ namespace delaunay { cfg.RenderPass.ClearValues[0] = new VkClearValue { color = new VkClearColorValue (0.0f, 0.1f, 0.0f) }; cfg.ResetShadersAndVerticesInfos (); - cfg.AddShader (VkShaderStageFlags.Vertex, "shaders/FullScreenQuad.vert.spv"); - cfg.AddShader (VkShaderStageFlags.Fragment, "shaders/simpletexture.frag.spv"); + cfg.AddShader (VkShaderStageFlags.Vertex, "#compute.FullScreenQuad.vert.spv"); + cfg.AddShader (VkShaderStageFlags.Fragment, "#compute.simpletexture.frag.spv"); cfg.blendAttachments[0] = new VkPipelineColorBlendAttachmentState (true); @@ -101,10 +106,10 @@ namespace delaunay { plCompute = new ComputePipeline ( new PipelineLayout (dev, new VkPushConstantRange (VkShaderStageFlags.Compute, 2 * sizeof (int)), dslCompute), - "shaders/computeTest.comp.spv"); + "#compute.computeTest.comp.spv"); plNormalize = new ComputePipeline ( plCompute.Layout, - "shaders/normalize.comp.spv"); + "#compute.normalize.comp.spv"); dsImage = dsPool.Allocate (dslImage); dsetPing = dsPool.Allocate (dslCompute); diff --git a/samples/compute/shaders/triangle.frag b/samples/compute/shaders/triangle2.frag index 3f905f7..3f905f7 100644 --- a/samples/compute/shaders/triangle.frag +++ b/samples/compute/shaders/triangle2.frag diff --git a/samples/compute/shaders/triangle.vert b/samples/compute/shaders/triangle2.vert index 2922694..2922694 100644 --- a/samples/compute/shaders/triangle.vert +++ b/samples/compute/shaders/triangle2.vert diff --git a/samples/compute/test.cs b/samples/compute/test.cs index 7037613..80e66d4 100644 --- a/samples/compute/test.cs +++ b/samples/compute/test.cs @@ -72,7 +72,7 @@ namespace test { plCompute = new ComputePipeline ( new PipelineLayout (dev, new VkPushConstantRange (VkShaderStageFlags.Compute, sizeof (int)), dsLayoutCompute), - "shaders/computeTest.comp.spv" ); + "#compute.computeTest.comp.spv" ); dsetPing = dsPool.Allocate (dsLayoutCompute); dsetPong = dsPool.Allocate (dsLayoutCompute); diff --git a/samples/deferred/DeferredPbrRenderer.cs b/samples/deferred/DeferredPbrRenderer.cs index bab629f..9765bd0 100644 --- a/samples/deferred/DeferredPbrRenderer.cs +++ b/samples/deferred/DeferredPbrRenderer.cs @@ -272,11 +272,11 @@ namespace deferred { new SpecializationConstant<float> (1, farPlane), new SpecializationConstant<float> (2, MAX_MATERIAL_COUNT))) { - cfg.AddShader (VkShaderStageFlags.Vertex, "shaders/GBuffPbr.vert.spv"); + cfg.AddShader (VkShaderStageFlags.Vertex, "#deferred.GBuffPbr.vert.spv"); if (TEXTURE_ARRAY) - cfg.AddShader (VkShaderStageFlags.Fragment, "shaders/GBuffPbrTexArray.frag.spv", constants); + cfg.AddShader (VkShaderStageFlags.Fragment, "#deferred.GBuffPbrTexArray.frag.spv", constants); else - cfg.AddShader (VkShaderStageFlags.Fragment, "shaders/GBuffPbr.frag.spv", constants); + cfg.AddShader (VkShaderStageFlags.Fragment, "#deferred.GBuffPbr.frag.spv", constants); gBuffPipeline = new GraphicPipeline (cfg); } @@ -291,20 +291,20 @@ namespace deferred { cfg.depthStencilState.depthWriteEnable = false; using (SpecializationInfo constants = new SpecializationInfo ( new SpecializationConstant<uint> (0, (uint)lights.Length))) { - cfg.AddShader (VkShaderStageFlags.Vertex, "shaders/FullScreenQuad.vert.spv"); + cfg.AddShader (VkShaderStageFlags.Vertex, "#deferred.FullScreenQuad.vert.spv"); #if WITH_SHADOWS - cfg.AddShader (VkShaderStageFlags.Fragment, "shaders/compose_with_shadows.frag.spv", constants); + cfg.AddShader (VkShaderStageFlags.Fragment, "#deferred.compose_with_shadows.frag.spv", constants); #else - cfg.AddShader (VkShaderStageFlags.Fragment, "shaders/compose.frag.spv", constants); + cfg.AddShader (VkShaderStageFlags.Fragment, "#deferred.compose.frag.spv", constants); #endif composePipeline = new GraphicPipeline (cfg); } //DEBUG DRAW use subpass of compose - cfg.shaders[1] = new ShaderInfo (VkShaderStageFlags.Fragment, "shaders/show_gbuff.frag.spv"); + cfg.shaders[1] = new ShaderInfo (VkShaderStageFlags.Fragment, "#deferred.show_gbuff.frag.spv"); cfg.SubpassIndex = SP_COMPOSE; debugPipeline = new GraphicPipeline (cfg); ////TONE MAPPING - //cfg.shaders[1] = new ShaderInfo (VkShaderStageFlags.Fragment, "shaders/tone_mapping.frag.spv"); + //cfg.shaders[1] = new ShaderInfo (VkShaderStageFlags.Fragment, "#deferred.tone_mapping.frag.spv"); //cfg.SubpassIndex = SP_TONE_MAPPING; //toneMappingPipeline = new GraphicPipeline (cfg); diff --git a/samples/deferred/EnvironmentPipeline.cs b/samples/deferred/EnvironmentPipeline.cs index 1619a94..4e97a1c 100644 --- a/samples/deferred/EnvironmentPipeline.cs +++ b/samples/deferred/EnvironmentPipeline.cs @@ -33,8 +33,8 @@ namespace CVKL { cfg.Layout = plLayout; cfg.AddVertexBinding (0, 3 * sizeof (float)); cfg.AddVertexAttributes (0, VkFormat.R32g32b32Sfloat); - cfg.AddShader (VkShaderStageFlags.Vertex, "shaders/skybox.vert.spv"); - cfg.AddShader (VkShaderStageFlags.Fragment, "shaders/skybox.frag.spv"); + cfg.AddShader (VkShaderStageFlags.Vertex, "#deferred.skybox.vert.spv"); + cfg.AddShader (VkShaderStageFlags.Fragment, "#deferred.skybox.frag.spv"); cfg.multisampleState.rasterizationSamples = Samples; layout = cfg.Layout; @@ -119,8 +119,8 @@ namespace CVKL { cfg.RenderPass.AddAttachment (format, VkImageLayout.ShaderReadOnlyOptimal); cfg.RenderPass.ClearValues.Add (new VkClearValue { color = new VkClearColorValue (0, 0, 0) }); cfg.RenderPass.AddSubpass (new SubPass (VkImageLayout.ColorAttachmentOptimal)); - cfg.AddShader (VkShaderStageFlags.Vertex, "shaders/genbrdflut.vert.spv"); - cfg.AddShader (VkShaderStageFlags.Fragment, "shaders/genbrdflut.frag.spv"); + cfg.AddShader (VkShaderStageFlags.Vertex, "#deferred.genbrdflut.vert.spv"); + cfg.AddShader (VkShaderStageFlags.Fragment, "#deferred.genbrdflut.frag.spv"); using (GraphicPipeline pl = new GraphicPipeline (cfg)) { using (Framebuffer fb = new Framebuffer (cfg.RenderPass, dim, dim, lutBrdf)) { @@ -193,11 +193,11 @@ namespace CVKL { cfg.AddVertexBinding (0, 3 * sizeof (float)); cfg.AddVertexAttributes (0, VkFormat.R32g32b32Sfloat); - cfg.AddShader (VkShaderStageFlags.Vertex, "shaders/filtercube.vert.spv"); + cfg.AddShader (VkShaderStageFlags.Vertex, "#deferred.filtercube.vert.spv"); if (target == CBTarget.PREFILTEREDENV) - cfg.AddShader (VkShaderStageFlags.Fragment, "shaders/prefilterenvmap.frag.spv"); + cfg.AddShader (VkShaderStageFlags.Fragment, "#deferred.prefilterenvmap.frag.spv"); else - cfg.AddShader (VkShaderStageFlags.Fragment, "shaders/irradiancecube.frag.spv"); + cfg.AddShader (VkShaderStageFlags.Fragment, "#deferred.irradiancecube.frag.spv"); Matrix4x4[] matrices = { // POSITIVE_X diff --git a/samples/deferred/deferred.csproj b/samples/deferred/deferred.csproj index 5758c39..1aa59b5 100644 --- a/samples/deferred/deferred.csproj +++ b/samples/deferred/deferred.csproj @@ -13,7 +13,7 @@ </PropertyGroup> <ItemGroup> - <Compile Include="EnvironmentPipeline.cs;deferredPbrRenderer.cs;shadowMapRenderer.cs" /> + <Compile Include="EnvironmentPipeline.cs;DeferredPbrRenderer.cs;shadowMapRenderer.cs" /> </ItemGroup> diff --git a/samples/deferred/main-crow.cs b/samples/deferred/main-crow.cs index 9486259..d265157 100644 --- a/samples/deferred/main-crow.cs +++ b/samples/deferred/main-crow.cs @@ -9,9 +9,11 @@ using System.Linq; namespace deferred { class Program : Crow.CrowWin { static void Main (string[] args) { - /*Instance.DEBUG_UTILS = true; +#if DEBUG Instance.VALIDATION = true; - Instance.RENDER_DOC_CAPTURE = true;*/ + Instance.DEBUG_UTILS = true; + Instance.RENDER_DOC_CAPTURE = false; +#endif DeferredPbrRenderer.TEXTURE_ARRAY = true; DeferredPbrRenderer.NUM_SAMPLES = VkSampleCountFlags.SampleCount1; DeferredPbrRenderer.HDR_FORMAT = VkFormat.R32g32b32a32Sfloat; diff --git a/samples/deferred/main.cs b/samples/deferred/main.cs index d3c78de..d3a1297 100644 --- a/samples/deferred/main.cs +++ b/samples/deferred/main.cs @@ -8,11 +8,11 @@ using VK; namespace deferred { class Deferred : VkWindow { static void Main (string[] args) { - - //Instance.VALIDATION = true; - //Instance.DEBUG_UTILS = true; - //Instance.RENDER_DOC_CAPTURE = true; - +#if DEBUG + Instance.VALIDATION = true; + Instance.DEBUG_UTILS = true; + Instance.RENDER_DOC_CAPTURE = false; +#endif DeferredPbrRenderer.TEXTURE_ARRAY = true; DeferredPbrRenderer.NUM_SAMPLES = VkSampleCountFlags.SampleCount1; DeferredPbrRenderer.HDR_FORMAT = VkFormat.R16g16b16a16Sfloat; @@ -75,7 +75,7 @@ namespace deferred { - Deferred () : base("deferred", 1024, 1024) { + Deferred () : base("deferred") { camera = new Camera (Utils.DegreesToRadians (45f), 1f, 0.1f, 16f); camera.SetPosition (0, 0, 2); @@ -104,8 +104,8 @@ namespace deferred { cfg.RenderPass = new RenderPass (dev, swapChain.ColorFormat, DeferredPbrRenderer.NUM_SAMPLES); - cfg.AddShader (VkShaderStageFlags.Vertex, "shaders/FullScreenQuad.vert.spv"); - cfg.AddShader (VkShaderStageFlags.Fragment, "shaders/tone_mapping.frag.spv"); + cfg.AddShader (VkShaderStageFlags.Vertex, "#deferred.FullScreenQuad.vert.spv"); + cfg.AddShader (VkShaderStageFlags.Fragment, "#deferred.tone_mapping.frag.spv"); plToneMap = new GraphicPipeline (cfg); @@ -139,7 +139,7 @@ namespace deferred { ); plBlur = new ComputePipeline ( new PipelineLayout (dev, new VkPushConstantRange (VkShaderStageFlags.Compute, (uint)Marshal.SizeOf<BlurPushCsts> ()), dsLayoutBlur), - "shaders/bloom.comp.spv"); + "#deferred.bloom.comp.spv"); dsetBlurPing = descriptorPool.Allocate (dsLayoutBlur); dsetBlurPong = descriptorPool.Allocate (dsLayoutBlur); diff --git a/samples/deferred/shadowMapRenderer.cs b/samples/deferred/shadowMapRenderer.cs index e41b0b3..2c267d9 100644 --- a/samples/deferred/shadowMapRenderer.cs +++ b/samples/deferred/shadowMapRenderer.cs @@ -86,8 +86,8 @@ namespace deferred { cfg.AddVertexBinding<PbrModel.Vertex> (0); cfg.AddVertexAttributes (0, VkFormat.R32g32b32Sfloat); - cfg.AddShader (VkShaderStageFlags.Vertex, "shaders/shadow.vert.spv"); - cfg.AddShader (VkShaderStageFlags.Geometry, "shaders/shadow.geom.spv"); + cfg.AddShader (VkShaderStageFlags.Vertex, "#deferred.shadow.vert.spv"); + cfg.AddShader (VkShaderStageFlags.Geometry, "#deferred.shadow.geom.spv"); shadowPipeline = new GraphicPipeline (cfg); diff --git a/samples/hdr/Program.cs b/samples/hdr/Program.cs index 2f030a7..3d3c216 100644 --- a/samples/hdr/Program.cs +++ b/samples/hdr/Program.cs @@ -6,8 +6,11 @@ using static VK.Vk; namespace tests { class Program : VkWindow { static void Main (string[] args) { +#if DEBUG Instance.VALIDATION = true; Instance.DEBUG_UTILS = true; + Instance.RENDER_DOC_CAPTURE = false; +#endif using (Program vke = new Program ()) { vke.Run (); } diff --git a/samples/pbr/EnvironmentPipeline.cs b/samples/pbr/EnvironmentPipeline.cs index 59aaac7..40ac8a2 100644 --- a/samples/pbr/EnvironmentPipeline.cs +++ b/samples/pbr/EnvironmentPipeline.cs @@ -37,8 +37,8 @@ namespace CVKL { cfg.Layout = plLayout; cfg.AddVertexBinding (0, 3 * sizeof (float)); cfg.AddVertexAttributes (0, VkFormat.R32g32b32Sfloat); - cfg.AddShader (VkShaderStageFlags.Vertex, "shaders/skybox.vert.spv"); - cfg.AddShader (VkShaderStageFlags.Fragment, "shaders/skybox.frag.spv"); + cfg.AddShader (VkShaderStageFlags.Vertex, "#pbr.skybox.vert.spv"); + cfg.AddShader (VkShaderStageFlags.Fragment, "#pbr.skybox.frag.spv"); cfg.multisampleState.rasterizationSamples = Samples; layout = cfg.Layout; @@ -134,8 +134,8 @@ namespace CVKL { cfg.RenderPass.AddAttachment (format, VkImageLayout.ShaderReadOnlyOptimal); cfg.RenderPass.ClearValues.Add (new VkClearValue { color = new VkClearColorValue (0, 0, 0) }); cfg.RenderPass.AddSubpass (new SubPass (VkImageLayout.ColorAttachmentOptimal)); - cfg.AddShader (VkShaderStageFlags.Vertex, "shaders/genbrdflut.vert.spv"); - cfg.AddShader (VkShaderStageFlags.Fragment, "shaders/genbrdflut.frag.spv"); + cfg.AddShader (VkShaderStageFlags.Vertex, "#pbr.genbrdflut.vert.spv"); + cfg.AddShader (VkShaderStageFlags.Fragment, "#pbr.genbrdflut.frag.spv"); using (GraphicPipeline pl = new GraphicPipeline (cfg)) { using (Framebuffer fb = new Framebuffer (cfg.RenderPass, dim, dim, lutBrdf)) { @@ -209,11 +209,11 @@ namespace CVKL { cfg.AddVertexBinding (0, 3 * sizeof (float)); cfg.AddVertexAttributes (0, VkFormat.R32g32b32Sfloat); - cfg.AddShader (VkShaderStageFlags.Vertex, "shaders/filtercube.vert.spv"); + cfg.AddShader (VkShaderStageFlags.Vertex, "#pbr.filtercube.vert.spv"); if (target == CBTarget.PREFILTEREDENV) - cfg.AddShader (VkShaderStageFlags.Fragment, "shaders/prefilterenvmap.frag.spv"); + cfg.AddShader (VkShaderStageFlags.Fragment, "#pbr.prefilterenvmap.frag.spv"); else - cfg.AddShader (VkShaderStageFlags.Fragment, "shaders/irradiancecube.frag.spv"); + cfg.AddShader (VkShaderStageFlags.Fragment, "#pbr.irradiancecube.frag.spv"); Matrix4x4[] matrices = { // POSITIVE_X diff --git a/samples/pbr/PbrPipeline.cs b/samples/pbr/PbrPipeline.cs index f0bdc9d..d62090e 100644 --- a/samples/pbr/PbrPipeline.cs +++ b/samples/pbr/PbrPipeline.cs @@ -78,8 +78,8 @@ namespace CVKL { cfg.AddVertexBinding<PbrModel2.Vertex> (0); cfg.AddVertexAttributes (0, VkFormat.R32g32b32Sfloat, VkFormat.R32g32b32Sfloat, VkFormat.R32g32Sfloat, VkFormat.R32g32Sfloat); - cfg.AddShader (VkShaderStageFlags.Vertex, "shaders/pbr.vert.spv"); - cfg.AddShader (VkShaderStageFlags.Fragment, "shaders/pbr_khr.frag.spv"); + cfg.AddShader (VkShaderStageFlags.Vertex, "#pbr.pbr.vert.spv"); + cfg.AddShader (VkShaderStageFlags.Fragment, "#pbr.pbr_khr.frag.spv"); layout = cfg.Layout; diff --git a/samples/pbr/main.cs b/samples/pbr/main.cs index 692779c..5bbdfca 100644 --- a/samples/pbr/main.cs +++ b/samples/pbr/main.cs @@ -16,7 +16,11 @@ namespace pbrSample { class Program : VkWindow{ static void Main (string[] args) { +#if DEBUG Instance.VALIDATION = true; + Instance.DEBUG_UTILS = true; + Instance.RENDER_DOC_CAPTURE = false; +#endif using (Program vke = new Program ()) { vke.Run (); } @@ -77,8 +81,8 @@ namespace pbrSample { GraphicPipelineConfig cfg = GraphicPipelineConfig.CreateDefault (VkPrimitiveTopology.TriangleList, samples, false); cfg.RenderPass = pbrPipeline.RenderPass; cfg.Layout = pbrPipeline.Layout; - cfg.AddShader (VkShaderStageFlags.Vertex, "shaders/FullScreenQuad.vert.spv"); - cfg.AddShader (VkShaderStageFlags.Fragment, "shaders/simpletexture.frag.spv"); + cfg.AddShader (VkShaderStageFlags.Vertex, "#pbr.FullScreenQuad.vert.spv"); + cfg.AddShader (VkShaderStageFlags.Fragment, "#pbr.simpletexture.frag.spv"); cfg.blendAttachments[0] = new VkPipelineColorBlendAttachmentState (true); uiPipeline = new GraphicPipeline (cfg); diff --git a/samples/vkvg_tests/main.cs b/samples/vkvg_tests/main.cs index 42c018b..361e781 100644 --- a/samples/vkvg_tests/main.cs +++ b/samples/vkvg_tests/main.cs @@ -7,6 +7,11 @@ using VK; namespace vkvg_test { class Program : VkWindow { static void Main (string[] args) { +#if DEBUG + Instance.VALIDATION = true; + Instance.DEBUG_UTILS = true; + Instance.RENDER_DOC_CAPTURE = false; +#endif using (Program vke = new Program ()) { vke.Run (); } @@ -196,8 +201,8 @@ namespace vkvg_test { cfg.RenderPass = new RenderPass (dev, swapChain.ColorFormat, dev.GetSuitableDepthFormat (), samples); cfg.ResetShadersAndVerticesInfos (); - cfg.AddShader (VkShaderStageFlags.Vertex, "shaders/FullScreenQuad.vert.spv"); - cfg.AddShader (VkShaderStageFlags.Fragment, "shaders/simpletexture.frag.spv"); + cfg.AddShader (VkShaderStageFlags.Vertex, "#vkvg_tests.FullScreenQuad.vert.spv"); + cfg.AddShader (VkShaderStageFlags.Fragment, "#vkvg_tests.simpletexture.frag.spv"); cfg.blendAttachments[0] = new VkPipelineColorBlendAttachmentState (true); diff --git a/vke/src/VkWindow.cs b/vke/src/VkWindow.cs index 7ab566f..5f329d6 100644 --- a/vke/src/VkWindow.cs +++ b/vke/src/VkWindow.cs @@ -83,7 +83,7 @@ namespace CVKL { public uint Width => width; public uint Height => height; - public VkWindow (string name = "VkWindow", uint _width = 1024, uint _height = 1024, bool vSync = false) { + public VkWindow (string name = "VkWindow", uint _width = 800, uint _height = 600, bool vSync = false) { currentWindow = this; width = _width; diff --git a/vke/src/base/DebuDrawPipeline.cs b/vke/src/base/DebuDrawPipeline.cs index acc6d5c..c974416 100644 --- a/vke/src/base/DebuDrawPipeline.cs +++ b/vke/src/base/DebuDrawPipeline.cs @@ -23,8 +23,8 @@ namespace CVKL { cfg.AddVertexAttributes (0, VkFormat.R32g32b32Sfloat, VkFormat.R32g32b32Sfloat); cfg.blendAttachments[0] = new VkPipelineColorBlendAttachmentState (true); - cfg.AddShader (VkShaderStageFlags.Vertex, "shaders/debug.vert.spv"); - cfg.AddShader (VkShaderStageFlags.Fragment, "shaders/debug.frag.spv"); + cfg.AddShader (VkShaderStageFlags.Vertex, "#CVKL.debug.vert.spv"); + cfg.AddShader (VkShaderStageFlags.Fragment, "#CVKL.debug.frag.spv"); layout = cfg.Layout; diff --git a/vke/src/base/Device.cs b/vke/src/base/Device.cs index 37dc91d..1bb9e09 100644 --- a/vke/src/base/Device.cs +++ b/vke/src/base/Device.cs @@ -275,11 +275,7 @@ namespace CVKL { stream = Assembly.GetEntryAssembly ().GetManifestResourceStream (resId); if (stream != null) return stream; - //second search CVKL assemlby - stream = Assembly.GetExecutingAssembly ().GetManifestResourceStream (resId); - if (stream != null) - return stream; - //if still not found, search assembly named with the 1st element of the resId + //if not found, search assembly named with the 1st element of the resId string assemblyName = resId.Split ('.')[0]; Assembly a = AppDomain.CurrentDomain.GetAssemblies ().FirstOrDefault (aa => aa.GetName ().Name == assemblyName); if (a == null) |