summaryrefslogtreecommitdiffstats
path: root/src/extras/shaders/rhi/light.inc.frag
blob: 861e1ba4a893ff81fcbbd6e99ef519a71fdbf411 (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
const int MAX_LIGHTS = 8;
const int TYPE_POINT = 0;
const int TYPE_DIRECTIONAL = 1;
const int TYPE_SPOT = 2;
struct Light {
    int type;
    vec3 position;
    vec3 color;
    float intensity;
    vec3 direction;
    float constantAttenuation;
    float linearAttenuation;
    float quadraticAttenuation;
    float cutOffAngle;
};


layout(std140, binding = auto) uniform qt3d_light_uniforms {
  uniform Light lights[MAX_LIGHTS];
  uniform int lightCount;
  uniform int envLightCount;
};

// Pre-convolved environment maps
layout(binding = auto) uniform samplerCube envLight_irradiance; // For diffuse contribution
layout(binding = auto) uniform samplerCube envLight_specular; // For specular contribution