From 8df65b973e2ba69b1151f6e2bf7a20743db9f0c2 Mon Sep 17 00:00:00 2001 From: iwubcode Date: Wed, 19 Jun 2024 15:12:35 -0500 Subject: [PATCH] Data: add graphics mod editor light visualization pipeline action for visualizing the lighting in a scene --- .../simple-light-visualization.ps.glsl | 12 ++++++++++++ .../simple-light-visualization.rastermaterial | 8 ++++++++ .../simple-light-visualization.rastershader | 6 ++++++ .../simple-light-visualization.vs.glsl | 4 ++++ 4 files changed, 30 insertions(+) create mode 100644 Data/Sys/GraphicsModEditor/Pipelines/light_visualization/simple-light-visualization.ps.glsl create mode 100644 Data/Sys/GraphicsModEditor/Pipelines/light_visualization/simple-light-visualization.rastermaterial create mode 100644 Data/Sys/GraphicsModEditor/Pipelines/light_visualization/simple-light-visualization.rastershader create mode 100644 Data/Sys/GraphicsModEditor/Pipelines/light_visualization/simple-light-visualization.vs.glsl diff --git a/Data/Sys/GraphicsModEditor/Pipelines/light_visualization/simple-light-visualization.ps.glsl b/Data/Sys/GraphicsModEditor/Pipelines/light_visualization/simple-light-visualization.ps.glsl new file mode 100644 index 0000000000..bdce3a5412 --- /dev/null +++ b/Data/Sys/GraphicsModEditor/Pipelines/light_visualization/simple-light-visualization.ps.glsl @@ -0,0 +1,12 @@ +void process_fragment(in DolphinFragmentInput frag_input, out DolphinFragmentOutput frag_output) +{ + if (frag_input.normal.xyz == vec3(0, 0, 0)) + { + dolphin_process_emulated_fragment(frag_input, frag_output); + } + else + { + vec4 output_color = dolphin_calculate_lighting_chn0(frag_input.color_0, frag_input.position, frag_input.normal); + frag_output.main = ivec4(output_color * 255.0); + } +} diff --git a/Data/Sys/GraphicsModEditor/Pipelines/light_visualization/simple-light-visualization.rastermaterial b/Data/Sys/GraphicsModEditor/Pipelines/light_visualization/simple-light-visualization.rastermaterial new file mode 100644 index 0000000000..206d6fcb3a --- /dev/null +++ b/Data/Sys/GraphicsModEditor/Pipelines/light_visualization/simple-light-visualization.rastermaterial @@ -0,0 +1,8 @@ +{ + "next_material_asset":"", + "pixel_properties":[], + "pixel_textures":[], + "render_targets":[], + "shader_asset": "simple_light_visualization_shader", + "vertex_properties":[] +} \ No newline at end of file diff --git a/Data/Sys/GraphicsModEditor/Pipelines/light_visualization/simple-light-visualization.rastershader b/Data/Sys/GraphicsModEditor/Pipelines/light_visualization/simple-light-visualization.rastershader new file mode 100644 index 0000000000..8df1d3a7c1 --- /dev/null +++ b/Data/Sys/GraphicsModEditor/Pipelines/light_visualization/simple-light-visualization.rastershader @@ -0,0 +1,6 @@ +{ + "pixel_properties":[], + "pixel_output_targets":[], + "pixel_samplers":[], + "vertex_properties":[] +} \ No newline at end of file diff --git a/Data/Sys/GraphicsModEditor/Pipelines/light_visualization/simple-light-visualization.vs.glsl b/Data/Sys/GraphicsModEditor/Pipelines/light_visualization/simple-light-visualization.vs.glsl new file mode 100644 index 0000000000..e768da6d7d --- /dev/null +++ b/Data/Sys/GraphicsModEditor/Pipelines/light_visualization/simple-light-visualization.vs.glsl @@ -0,0 +1,4 @@ +void process_vertex(in DolphinVertexInput vertex_input, out DolphinVertexOutput vertex_output) +{ + dolphin_process_emulated_vertex(vertex_input, vertex_output); +} \ No newline at end of file