aboutsummaryrefslogtreecommitdiffstatsci
diff options
context:
space:
mode:
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>2019-08-28 16:21:22 +0200
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>2019-08-28 16:21:22 +0200
commit3b6da2bb525c95299a181fff4e2f3c3e248ad6b7 (patch)
tree6020a8ef326c8de0c4e4211733e8b7872fd8f9ce
parent3c19e8a85fbeae514b809c43809fd019b34771f9 (diff)
shaders compiled as resources with project name prefix
-rw-r--r--Directory.Build.targets22
-rw-r--r--SpirVTask/CompileGLSLTask.cs4
-rw-r--r--SpirVTasks.dllbin9728 -> 9216 bytes
-rw-r--r--samples/Model/main.cs10
-rw-r--r--samples/Textured/main.cs10
-rw-r--r--samples/TexturedCube/main.cs16
-rw-r--r--samples/Triangle/main.cs8
-rw-r--r--samples/Triangle/shaders/main.frag (renamed from samples/Triangle/shaders/triangle.frag)0
-rw-r--r--samples/Triangle/shaders/main.vert (renamed from samples/Triangle/shaders/triangle.vert)0
-rw-r--r--samples/common/CrowWin.cs4
-rw-r--r--samples/compute/compute.csproj2
-rw-r--r--samples/compute/delaunay.cs13
-rw-r--r--samples/compute/shaders/triangle2.frag (renamed from samples/compute/shaders/triangle.frag)0
-rw-r--r--samples/compute/shaders/triangle2.vert (renamed from samples/compute/shaders/triangle.vert)0
-rw-r--r--samples/compute/test.cs2
-rw-r--r--samples/deferred/DeferredPbrRenderer.cs16
-rw-r--r--samples/deferred/EnvironmentPipeline.cs14
-rw-r--r--samples/deferred/deferred.csproj2
-rw-r--r--samples/deferred/main-crow.cs6
-rw-r--r--samples/deferred/main.cs18
-rw-r--r--samples/deferred/shadowMapRenderer.cs4
-rw-r--r--samples/hdr/Program.cs3
-rw-r--r--samples/pbr/EnvironmentPipeline.cs14
-rw-r--r--samples/pbr/PbrPipeline.cs4
-rw-r--r--samples/pbr/main.cs8
-rw-r--r--samples/vkvg_tests/main.cs9
-rw-r--r--vke/src/VkWindow.cs2
-rw-r--r--vke/src/base/DebuDrawPipeline.cs4
-rw-r--r--vke/src/base/Device.cs6
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
index 4dfbddd..cd37fc5 100644
--- a/SpirVTasks.dll
+++ b/SpirVTasks.dll
Binary files differ
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)