summaryrefslogtreecommitdiffstats
path: root/tests/vkray/anyhit.slang.glsl
blob: 4d2e5a0dd7b0e33583c7acec95cc04786029703d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#version 460
#extension GL_EXT_ray_tracing : require
layout(row_major) uniform;
layout(row_major) buffer;
struct Params_0
{
    int mode_0;
};

layout(binding = 0)
layout(std140) uniform block_Params_0
{
    int mode_0;
}gParams_0;
layout(binding = 1)
uniform texture2D gParams_alphaMap_0;

layout(binding = 2)
uniform sampler gParams_sampler_0;

struct SphereHitAttributes_0
{
    vec3 normal_0;
};

hitAttributeEXT SphereHitAttributes_0 _S1;

struct ShadowRay_0
{
    vec4 hitDistance_0;
    vec3 dummyOut_0;
};

rayPayloadInEXT ShadowRay_0 _S2;

void main()
{
    if(gParams_0.mode_0 != 0)
    {
        if((textureLod(sampler2D(gParams_alphaMap_0,gParams_sampler_0), (_S1.normal_0.xy), (0.0)).x) > 0.0)
        {
            terminateRayEXT;;
        }
        else
        {
            ignoreIntersectionEXT;;
        }
    }

    vec3 _S3 = (gl_HitTriangleVertexPositionsEXT[(0U)]);
    _S2.dummyOut_0 = _S3;
    vec3 _S4 = (gl_HitTriangleVertexPositionsEXT[(1U)]);
    vec3 _S5 = _S3 + _S4;
    _S2.dummyOut_0 = _S5;
    vec3 _S6 = (gl_HitTriangleVertexPositionsEXT[(2U)]);
    _S2.dummyOut_0 = _S5 + _S6;
    return;
}