From 189708f0268312d134bbe05088621eab399b7f04 Mon Sep 17 00:00:00 2001 From: Steins7 Date: Sun, 31 Jan 2021 10:56:49 +0100 Subject: [PATCH] Moved shader to separate files + base.vert and base.frag * adjusted pipeline.rs --- src/renderer/pipeline.rs | 33 ++++----------------------------- src/renderer/shaders/base.frag | 10 ++++++++++ src/renderer/shaders/base.vert | 16 ++++++++++++++++ 3 files changed, 30 insertions(+), 29 deletions(-) create mode 100644 src/renderer/shaders/base.frag create mode 100644 src/renderer/shaders/base.vert diff --git a/src/renderer/pipeline.rs b/src/renderer/pipeline.rs index 03844c7..3e82281 100644 --- a/src/renderer/pipeline.rs +++ b/src/renderer/pipeline.rs @@ -15,33 +15,8 @@ use super::{ mod attachement; use self::attachement::Attachement; -const VERTEX_SOURCE: &str = -"#version 450 core - -layout (location = 0) in vec2 position; -layout (location = 1) in vec3 color; - -layout (location = 0) out gl_PerVertex { - vec4 gl_Position; -}; -layout (location = 1) out vec3 frag_color; - -void main() -{ - gl_Position = vec4(position, 0.0, 1.0); - frag_color = color; -}"; - -const FRAGMENT_SOURCE: &str = -"#version 450 core - -layout (location = 0) out vec4 frag_color; -layout (location = 1) in vec3 color; - -void main() -{ - frag_color = vec4(color, 1); -}"; +static VERT_SRC: &'static str = include_str!("shaders/base.vert"); +static FRAG_SRC: &'static str = include_str!("shaders/base.frag"); //--Pipeline implementation------------------------------------------------------------------------- #[derive(Debug)] @@ -93,13 +68,13 @@ where debug!("Compiling shaders..."); let mut compiler = shaderc::Compiler::new().ok_or("shaderc not found")?; let vertex_compile_artifact = compiler - .compile_into_spirv(VERTEX_SOURCE, shaderc::ShaderKind::Vertex, "vertex.vert", + .compile_into_spirv(VERT_SRC, shaderc::ShaderKind::Vertex, "vertex.vert", "main", None) .map_err(|err| {error!("{}", err); "Could not compile vertex shader"})?; let fragment_compile_artifact = compiler - .compile_into_spirv(FRAGMENT_SOURCE, shaderc::ShaderKind::Fragment, "fragement.frag", + .compile_into_spirv(FRAG_SRC, shaderc::ShaderKind::Fragment, "fragement.frag", "main", None) .map_err(|err| {error!("{}", err); diff --git a/src/renderer/shaders/base.frag b/src/renderer/shaders/base.frag new file mode 100644 index 0000000..00c4439 --- /dev/null +++ b/src/renderer/shaders/base.frag @@ -0,0 +1,10 @@ +#version 450 + +layout (location = 0) out vec4 frag_color; +layout (location = 1) in vec3 color; + +void main() +{ + frag_color = vec4(color, 1); +} + diff --git a/src/renderer/shaders/base.vert b/src/renderer/shaders/base.vert new file mode 100644 index 0000000..05ff862 --- /dev/null +++ b/src/renderer/shaders/base.vert @@ -0,0 +1,16 @@ +#version 450 + +layout (location = 0) in vec2 position; +layout (location = 1) in vec3 color; + +layout (location = 0) out gl_PerVertex { + vec4 gl_Position; +}; +layout (location = 1) out vec3 frag_color; + +void main() +{ + gl_Position = vec4(position, 0.0, 1.0); + frag_color = color; +} +