diff --git a/projects/rtx/resources/shaders/raytrace.rchit b/projects/rtx/resources/shaders/raytrace.rchit new file mode 100644 index 0000000000000000000000000000000000000000..7eda8bd4533b955286afd51694527ac00f7368c1 --- /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 0000000000000000000000000000000000000000..313ecdb2742dd71e4831aab0cc5228088fd1f455 --- /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 0000000000000000000000000000000000000000..32e919a1b52120e3cfc6332c8b328b68c89a57cb --- /dev/null +++ b/projects/rtx/resources/shaders/raytrace.rmiss @@ -0,0 +1,6 @@ +#version 460 +#extension GL_EXT_ray_tracing : require + +void main() { + +}