blob: a1b07a9769688186484b29c68f91e0a01df5864f [file] [log] [blame]
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;
};
uniform Light lights[MAX_LIGHTS];
uniform int lightCount;
// Pre-convolved environment maps
struct EnvironmentLight {
samplerCube irradiance; // For diffuse contribution
samplerCube specular; // For specular contribution
int specularMipLevels;
};
uniform EnvironmentLight envLight;
uniform int envLightCount = 0;