Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2017-06-14 12:09:13 +0300
committerClément Foucault <foucault.clem@gmail.com>2017-06-15 01:55:44 +0300
commit49ba446f68954b7c32fbe40d733044cfbe39ff5d (patch)
tree47456f044b78629818eceb3479fe3f3c1bc5df15 /source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl
parent88602ea017da9b658e0e03d2f740098fcc0e6cc4 (diff)
Eevee: Split irradiance functions to their own new file.
Diffstat (limited to 'source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl')
-rw-r--r--source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl84
1 files changed, 0 insertions, 84 deletions
diff --git a/source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl b/source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl
index 77ff614b2c1..ece4250741c 100644
--- a/source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl
+++ b/source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl
@@ -40,31 +40,6 @@ struct GridData {
#define g_resolution resolution_offset.xyz
#define g_offset resolution_offset.w
-#ifdef IRRADIANCE_CUBEMAP
-struct IrradianceData {
- vec3 color;
-};
-#elif defined(IRRADIANCE_SH_L2)
-struct IrradianceData {
- vec3 shcoefs[9];
-};
-#else /* defined(IRRADIANCE_HL2) */
-struct IrradianceData {
- vec3 cubesides[3];
-};
-#endif
-
-/* TODO remove sh once we have irradiance grid */
-#define shcoef0 shcoefs[0].rgb
-#define shcoef1 vec3(shcoefs[0].a, shcoefs[1].rg)
-#define shcoef2 vec3(shcoefs[1].ba, shcoefs[2].r)
-#define shcoef3 shcoefs[2].gba
-#define shcoef4 shcoefs[3].rgb
-#define shcoef5 vec3(shcoefs[3].a, shcoefs[4].rg)
-#define shcoef6 vec3(shcoefs[4].ba, shcoefs[5].r)
-#define shcoef7 shcoefs[5].gba
-#define shcoef8 shcoefs[6].rgb
-
struct LightData {
vec4 position_influence; /* w : InfluenceRadius */
vec4 color_spec; /* w : Spec Intensity */
@@ -252,65 +227,6 @@ float buffer_depth(bool is_persp, float z, float zf, float zn)
}
}
-#define spherical_harmonics spherical_harmonics_L2
-
-/* http://seblagarde.wordpress.com/2012/01/08/pi-or-not-to-pi-in-game-lighting-equation/ */
-vec3 spherical_harmonics_L1(vec3 N, vec3 shcoefs[4])
-{
- vec3 sh = vec3(0.0);
-
- sh += 0.282095 * shcoefs[0];
-
- sh += -0.488603 * N.z * shcoefs[1];
- sh += 0.488603 * N.y * shcoefs[2];
- sh += -0.488603 * N.x * shcoefs[3];
-
- return sh;
-}
-
-vec3 spherical_harmonics_L2(vec3 N, vec3 shcoefs[9])
-{
- vec3 sh = vec3(0.0);
-
- sh += 0.282095 * shcoefs[0];
-
- sh += -0.488603 * N.z * shcoefs[1];
- sh += 0.488603 * N.y * shcoefs[2];
- sh += -0.488603 * N.x * shcoefs[3];
-
- sh += 1.092548 * N.x * N.z * shcoefs[4];
- sh += -1.092548 * N.z * N.y * shcoefs[5];
- sh += 0.315392 * (3.0 * N.y * N.y - 1.0) * shcoefs[6];
- sh += -1.092548 * N.x * N.y * shcoefs[7];
- sh += 0.546274 * (N.x * N.x - N.z * N.z) * shcoefs[8];
-
- return sh;
-}
-
-vec3 hl2_basis(vec3 N, vec3 cubesides[3])
-{
- vec3 irradiance = vec3(0.0);
-
- vec3 n_squared = N * N;
-
- irradiance += n_squared.x * cubesides[0];
- irradiance += n_squared.y * cubesides[1];
- irradiance += n_squared.z * cubesides[2];
-
- return irradiance;
-}
-
-vec3 compute_irradiance(vec3 N, IrradianceData ird)
-{
-#if defined(IRRADIANCE_CUBEMAP)
- return ird.color;
-#elif defined(IRRADIANCE_SH_L2)
- return spherical_harmonics_L2(N, ird.shcoefs);
-#else /* defined(IRRADIANCE_HL2) */
- return hl2_basis(N, ird.cubesides);
-#endif
-}
-
vec3 get_specular_dominant_dir(vec3 N, vec3 R, float roughness)
{
float smoothness = 1.0 - roughness;