Added VK_NV_ray_tracing reflections example
This commit is contained in:
parent
e140095002
commit
8fdabb0019
7 changed files with 918 additions and 0 deletions
25
data/shaders/nv_ray_tracing_reflections/miss.rmiss
Normal file
25
data/shaders/nv_ray_tracing_reflections/miss.rmiss
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
#version 460
|
||||
#extension GL_NV_ray_tracing : require
|
||||
|
||||
struct RayPayload {
|
||||
vec3 color;
|
||||
float distance;
|
||||
vec3 normal;
|
||||
float reflector;
|
||||
};
|
||||
|
||||
layout(location = 0) rayPayloadInNV RayPayload rayPayload;
|
||||
|
||||
void main()
|
||||
{
|
||||
// View-independent background gradient to simulate a basic sky background
|
||||
const vec3 gradientStart = vec3(0.5, 0.6, 1.0);
|
||||
const vec3 gradientEnd = vec3(1.0);
|
||||
vec3 unitDir = normalize(gl_WorldRayDirectionNV);
|
||||
float t = 0.5 * (unitDir.y + 1.0);
|
||||
rayPayload.color = (1.0-t) * gradientStart + t * gradientEnd;
|
||||
|
||||
rayPayload.distance = -1.0f;
|
||||
rayPayload.normal = vec3(0.0f);
|
||||
rayPayload.reflector = 0.0f;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue