diff --git a/engine/src/scene/rendering/shaders/raytracing/hardware/default/closesthit.rchit b/engine/src/scene/rendering/shaders/raytracing/hardware/default/closesthit.rchit index ae8d8d5..44ddb77 100644 --- a/engine/src/scene/rendering/shaders/raytracing/hardware/default/closesthit.rchit +++ b/engine/src/scene/rendering/shaders/raytracing/hardware/default/closesthit.rchit @@ -165,6 +165,10 @@ void own_implementation() { pay_load.depth--; + if (pay_load.distance == -1.0) { + break; + } + object_color = mix(pay_load.color.xyz, object_color, alpha); alpha = pay_load.color.w; max_alpha = max(max_alpha, alpha); diff --git a/engine/src/scene/rendering/shaders/raytracing/hardware/default/miss.rmiss b/engine/src/scene/rendering/shaders/raytracing/hardware/default/miss.rmiss index ffdf986..0a119de 100644 --- a/engine/src/scene/rendering/shaders/raytracing/hardware/default/miss.rmiss +++ b/engine/src/scene/rendering/shaders/raytracing/hardware/default/miss.rmiss @@ -11,6 +11,6 @@ layout(location = 0) rayPayloadInEXT RayPayload pay_load; void main() { - pay_load.color = vec4(0.1, 0.1, 0.1, 1.0); + pay_load.color = vec4(0.1, 0.1, 0.1, 0.0); pay_load.distance = -1.0; } \ No newline at end of file