procedural-3d-engine/data/hlsl/nv_ray_tracing_reflections/miss.rmiss
Ben Clayton cce75f1859 Add shaders re-implemented in HLSL
These were written against the shaders at revision eddd724e7.
There have been changes made since then, which will need to be mirrored.

See `data/hlsl/README.md` for the current status of each sample.
2020-05-21 12:58:13 +01:00

25 lines
No EOL
655 B
GLSL

// Copyright 2020 Google LLC
struct RayPayload {
float3 color;
float distance;
float3 normal;
float reflector;
};
[shader("miss")]
void main(inout RayPayload rayPayload)
{
float3 worldRayDirection = WorldRayDirection();
// View-independent background gradient to simulate a basic sky background
const float3 gradientStart = float3(0.5, 0.6, 1.0);
const float3 gradientEnd = float3(1.0, 1.0, 1.0);
float3 unitDir = normalize(worldRayDirection);
float t = 0.5 * (unitDir.y + 1.0);
rayPayload.color = (1.0-t) * gradientStart + t * gradientEnd;
rayPayload.distance = -1.0f;
rayPayload.normal = float3(0, 0, 0);
rayPayload.reflector = 0.0f;
}