/* Copyright (c) 2023, Sascha Willems * * SPDX-License-Identifier: MIT * */ #version 460 #extension GL_EXT_ray_tracing : require #extension GL_GOOGLE_include_directive : require #extension GL_EXT_nonuniform_qualifier : require #extension GL_EXT_buffer_reference2 : require #extension GL_EXT_scalar_block_layout : require #extension GL_EXT_shader_explicit_arithmetic_types_int64 : require layout(location = 0) rayPayloadInEXT vec3 hitValue; hitAttributeEXT vec2 attribs; layout(binding = 3, set = 0) uniform sampler2D image; #include "bufferreferences.glsl" #include "geometrytypes.glsl" void main() { Triangle tri = unpackTriangle(gl_PrimitiveID, 32); hitValue = vec3(tri.uv, 0.0f); // Fetch the color for this ray hit from the texture at the current uv coordinates vec4 color = texture(image, tri.uv); hitValue = color.rgb; }