From d87a1284c18fdae9ae9001e3ffa1779e20df0773 Mon Sep 17 00:00:00 2001 From: Vanessa Karolek <vaka1997@uni-koblenz.de> Date: Sat, 4 Sep 2021 17:09:34 +0200 Subject: [PATCH] [#92] add raytracing shader templates (TODO) ToDo: implement shaders, adjust push_constants, descriptorSets / -Writes etc. --- projects/rtx/resources/shaders/raytrace.rchit | 16 ++++++++++++++ projects/rtx/resources/shaders/raytrace.rgen | 22 +++++++++++++++++++ projects/rtx/resources/shaders/raytrace.rmiss | 6 +++++ 3 files changed, 44 insertions(+) create mode 100644 projects/rtx/resources/shaders/raytrace.rchit create mode 100644 projects/rtx/resources/shaders/raytrace.rgen create mode 100644 projects/rtx/resources/shaders/raytrace.rmiss diff --git a/projects/rtx/resources/shaders/raytrace.rchit b/projects/rtx/resources/shaders/raytrace.rchit new file mode 100644 index 00000000..7eda8bd4 --- /dev/null +++ b/projects/rtx/resources/shaders/raytrace.rchit @@ -0,0 +1,16 @@ +#version 460 +#extension GL_EXT_ray_tracing : require + +layout(binding = 3, set 0) buffer vertices +{ + vec3 vertices[]; +}; + +layout(binding = 4, set 0) buffer indices +{ + uint indices[]; +}; + +void main() { + +} diff --git a/projects/rtx/resources/shaders/raytrace.rgen b/projects/rtx/resources/shaders/raytrace.rgen new file mode 100644 index 00000000..313ecdb2 --- /dev/null +++ b/projects/rtx/resources/shaders/raytrace.rgen @@ -0,0 +1,22 @@ +#version 460 +#extension GL_EXT_ray_tracing : require + +// A location for a ray payload (we can have multiple of these) +layout(location = 0) rayPayloadEXT RayPayload pay; + +layout(binding = 0, set = 0, rgba32f) uniform image2D outImg; // the output image -> maybe use 16 bit values? +layout(binding = 1, set = 0) uniform accelerationStructureEXT tlas; // top level acceleration structure (for the noobs here (you!)) + +layout( push_constant ) uniform constants { // TODO: add push_constants in main.cpp! + vec4 camera_position; // as origin for ray generation + vec4 camera_right; // for computing ray direction + vec4 camera_up; // for computing ray direction + vec4 camera_forward; // for computing ray direction + + uint frameCount; // what is this? the actual frame? +}; + + +void main() { + // TODO +} \ No newline at end of file diff --git a/projects/rtx/resources/shaders/raytrace.rmiss b/projects/rtx/resources/shaders/raytrace.rmiss new file mode 100644 index 00000000..32e919a1 --- /dev/null +++ b/projects/rtx/resources/shaders/raytrace.rmiss @@ -0,0 +1,6 @@ +#version 460 +#extension GL_EXT_ray_tracing : require + +void main() { + +} -- GitLab