|
@@ -28,16 +28,12 @@ vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {
|
|
|
|
|
|
uniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];
|
|
uniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];
|
|
|
|
|
|
- IncidentLight getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry ) {
|
|
|
|
-
|
|
|
|
- IncidentLight directLight;
|
|
|
|
|
|
+ void getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight directLight ) {
|
|
|
|
|
|
directLight.color = directionalLight.color;
|
|
directLight.color = directionalLight.color;
|
|
directLight.direction = directionalLight.direction;
|
|
directLight.direction = directionalLight.direction;
|
|
directLight.visible = true;
|
|
directLight.visible = true;
|
|
|
|
|
|
- return directLight;
|
|
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
|
|
#endif
|
|
#endif
|
|
@@ -59,9 +55,8 @@ vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {
|
|
|
|
|
|
uniform PointLight pointLights[ NUM_POINT_LIGHTS ];
|
|
uniform PointLight pointLights[ NUM_POINT_LIGHTS ];
|
|
|
|
|
|
- IncidentLight getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry ) {
|
|
|
|
-
|
|
|
|
- IncidentLight directLight;
|
|
|
|
|
|
+ // directLight is an out parameter as having it as a return value caused compiler errors on some devices
|
|
|
|
+ void getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight directLight ) {
|
|
|
|
|
|
vec3 lVector = pointLight.position - geometry.position;
|
|
vec3 lVector = pointLight.position - geometry.position;
|
|
directLight.direction = normalize( lVector );
|
|
directLight.direction = normalize( lVector );
|
|
@@ -82,8 +77,6 @@ vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- return directLight;
|
|
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
|
|
#endif
|
|
#endif
|
|
@@ -108,9 +101,8 @@ vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {
|
|
|
|
|
|
uniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];
|
|
uniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];
|
|
|
|
|
|
- IncidentLight getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry ) {
|
|
|
|
-
|
|
|
|
- IncidentLight directLight;
|
|
|
|
|
|
+ // directLight is an out parameter as having it as a return value caused compiler errors on some devices
|
|
|
|
+ void getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight directLight ) {
|
|
|
|
|
|
vec3 lVector = spotLight.position - geometry.position;
|
|
vec3 lVector = spotLight.position - geometry.position;
|
|
directLight.direction = normalize( lVector );
|
|
directLight.direction = normalize( lVector );
|
|
@@ -134,8 +126,6 @@ vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- return directLight;
|
|
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
|
|
#endif
|
|
#endif
|