summaryrefslogtreecommitdiffstats
path: root/basicsuite/advancedcustommaterial/shaders/gl3/light.inc.frag
diff options
context:
space:
mode:
Diffstat (limited to 'basicsuite/advancedcustommaterial/shaders/gl3/light.inc.frag')
-rw-r--r--basicsuite/advancedcustommaterial/shaders/gl3/light.inc.frag25
1 files changed, 25 insertions, 0 deletions
diff --git a/basicsuite/advancedcustommaterial/shaders/gl3/light.inc.frag b/basicsuite/advancedcustommaterial/shaders/gl3/light.inc.frag
new file mode 100644
index 0000000..0b64263
--- /dev/null
+++ b/basicsuite/advancedcustommaterial/shaders/gl3/light.inc.frag
@@ -0,0 +1,25 @@
+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
+};
+uniform EnvironmentLight envLight;
+uniform int envLightCount = 0;