From d8c6c47e00f899ee5a413dfba94fa06c8cd94d5f Mon Sep 17 00:00:00 2001 From: bjorn Date: Sat, 10 Sep 2022 11:07:40 -0700 Subject: [PATCH] Add normal DefaultShader; It's a pretty normal shader. --- etc/shaders.h | 1 + etc/shaders/normal.frag | 9 +++++++++ src/api/l_graphics.c | 1 + src/modules/graphics/graphics.c | 4 ++++ src/modules/graphics/graphics.h | 1 + 5 files changed, 16 insertions(+) create mode 100644 etc/shaders/normal.frag diff --git a/etc/shaders.h b/etc/shaders.h index 21dae437..19ea1ae1 100644 --- a/etc/shaders.h +++ b/etc/shaders.h @@ -1,5 +1,6 @@ #include "shaders/unlit.vert.h" #include "shaders/unlit.frag.h" +#include "shaders/normal.frag.h" #include "shaders/font.frag.h" #include "shaders/cubemap.vert.h" #include "shaders/cubemap.frag.h" diff --git a/etc/shaders/normal.frag b/etc/shaders/normal.frag new file mode 100644 index 00000000..e433513f --- /dev/null +++ b/etc/shaders/normal.frag @@ -0,0 +1,9 @@ +#version 460 +#extension GL_EXT_multiview : require +#extension GL_GOOGLE_include_directive : require + +#include "lovr.glsl" + +vec4 lovrmain() { + return vec4(normalize(Normal) * .5 + .5, 1); +} diff --git a/src/api/l_graphics.c b/src/api/l_graphics.c index 33139af5..90c83f67 100644 --- a/src/api/l_graphics.c +++ b/src/api/l_graphics.c @@ -54,6 +54,7 @@ StringEntry lovrCullMode[] = { StringEntry lovrDefaultShader[] = { [SHADER_UNLIT] = ENTRY("unlit"), + [SHADER_NORMAL] = ENTRY("normal"), [SHADER_FONT] = ENTRY("font"), [SHADER_CUBEMAP] = ENTRY("cubemap"), [SHADER_EQUIRECT] = ENTRY("equirect"), diff --git a/src/modules/graphics/graphics.c b/src/modules/graphics/graphics.c index fcc6b0b0..adc6d348 100644 --- a/src/modules/graphics/graphics.c +++ b/src/modules/graphics/graphics.c @@ -1602,6 +1602,10 @@ ShaderSource lovrGraphicsGetDefaultShaderSource(DefaultShader type, ShaderStage { lovr_shader_unlit_vert, sizeof(lovr_shader_unlit_vert) }, { lovr_shader_unlit_frag, sizeof(lovr_shader_unlit_frag) } }, + [SHADER_NORMAL] = { + { lovr_shader_unlit_vert, sizeof(lovr_shader_unlit_vert) }, + { lovr_shader_normal_frag, sizeof(lovr_shader_normal_frag) } + }, [SHADER_FONT] = { { lovr_shader_unlit_vert, sizeof(lovr_shader_unlit_vert) }, { lovr_shader_font_frag, sizeof(lovr_shader_font_frag) } diff --git a/src/modules/graphics/graphics.h b/src/modules/graphics/graphics.h index 7b0dcac2..3d620337 100644 --- a/src/modules/graphics/graphics.h +++ b/src/modules/graphics/graphics.h @@ -269,6 +269,7 @@ const SamplerInfo* lovrSamplerGetInfo(Sampler* sampler); typedef enum { SHADER_UNLIT, + SHADER_NORMAL, SHADER_FONT, SHADER_CUBEMAP, SHADER_EQUIRECT,