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>2018-01-15 19:14:49 +0300
committerClément Foucault <foucault.clem@gmail.com>2018-01-16 20:22:24 +0300
commit84c91be0a4bf83f815406d8f707a60cb51a06d3b (patch)
tree89785fad1dbe03e004c9475aedd11b9a1b5f60a8 /source/blender/draw/engines/eevee/eevee_materials.c
parent39af6c27f58df4da3325b843dadb1608181b83bb (diff)
Eevee: Fix noise correlation in the blue noise update.
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_materials.c')
-rw-r--r--source/blender/draw/engines/eevee/eevee_materials.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_materials.c b/source/blender/draw/engines/eevee/eevee_materials.c
index 0aea80f5471..5bd7fe979b8 100644
--- a/source/blender/draw/engines/eevee/eevee_materials.c
+++ b/source/blender/draw/engines/eevee/eevee_materials.c
@@ -432,7 +432,7 @@ static void create_default_shader(int options)
MEM_freeN(frag_str);
}
-void EEVEE_update_util_texture(float offset)
+void EEVEE_update_util_texture(double offsets[3])
{
/* TODO: split this into 2 functions : one for init,
@@ -456,12 +456,9 @@ void EEVEE_update_util_texture(float offset)
/* Copy blue noise in 3rd layer */
for (int i = 0; i < 64 * 64; i++) {
- float noise;
- noise = fmod(blue_noise[i][0] + offset, 1.0f);
- texels_layer[i][0] = noise;
-
- noise = fmod(blue_noise[i][1] + offset, 1.0f);
- texels_layer[i][1] = noise * 0.5f + 0.5f;
+ texels_layer[i][0] = fmod(blue_noise[i][0] + (float)offsets[0], 1.0f);
+ texels_layer[i][1] = fmod(blue_noise[i][1] + (float)offsets[1], 1.0f);
+ float noise = fmod(blue_noise[i][1] + (float)offsets[2], 1.0f);
texels_layer[i][2] = cosf(noise * 2.0f * M_PI);
texels_layer[i][3] = sinf(noise * 2.0f * M_PI);
}
@@ -549,7 +546,8 @@ void EEVEE_materials_init(EEVEE_StorageList *stl)
MEM_freeN(frag_str);
- EEVEE_update_util_texture(0.0f);
+ double offsets[3] = {0.0, 0.0, 0.0};
+ EEVEE_update_util_texture(offsets);
}
{