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:
-rw-r--r--source/blender/render/intern/source/ray.c4
-rw-r--r--source/blender/render/intern/source/rendercore.c6
-rw-r--r--source/blender/src/buttons_shading.c2
3 files changed, 6 insertions, 6 deletions
diff --git a/source/blender/render/intern/source/ray.c b/source/blender/render/intern/source/ray.c
index 815e451869b..e393a48e606 100644
--- a/source/blender/render/intern/source/ray.c
+++ b/source/blender/render/intern/source/ray.c
@@ -2101,8 +2101,8 @@ void ray_ao(ShadeInput *shi, World *wrld, float *shadfac)
vec+= 3;
}
- div= wrld->aoenergy/(float)(actual);
- shadfac[3] = wrld->aoenergy - (sh*div);
+ div= 1.0/(float)(actual);
+ shadfac[3] = 1.0 - (sh*div);
if(wrld->aocolor!=WO_AOPLAIN) {
shadfac[0] *= div;
diff --git a/source/blender/render/intern/source/rendercore.c b/source/blender/render/intern/source/rendercore.c
index 7bc27258e91..e44404fc622 100644
--- a/source/blender/render/intern/source/rendercore.c
+++ b/source/blender/render/intern/source/rendercore.c
@@ -1644,14 +1644,14 @@ static void ambient_occlusion(World *wrld, ShadeInput *shi, ShadeResult *shr)
{
float f, shadfac[4];
- if(wrld->mode & WO_AMB_OCC) {
+ if((wrld->mode & WO_AMB_OCC) && (R.r.mode & R_RAYTRACE)) {
ray_ao(shi, wrld, shadfac);
if(wrld->aocolor==WO_AOPLAIN) {
if (wrld->aomix==WO_AOADDSUB) shadfac[3] = 2.0*shadfac[3]-1.0;
else if (wrld->aomix==WO_AOSUB) shadfac[3] = shadfac[3]-1.0;
- f= shadfac[3]*shi->matren->amb;
+ f= wrld->aoenergy*shadfac[3]*shi->matren->amb;
shr->diff[0] += f;
shr->diff[1] += f;
shr->diff[2] += f;
@@ -1667,7 +1667,7 @@ static void ambient_occlusion(World *wrld, ShadeInput *shi, ShadeResult *shr)
shadfac[1] = shadfac[1]-1.0;
shadfac[2] = shadfac[2]-1.0;
}
- f= shi->matren->amb;
+ f= wrld->aoenergy*shi->matren->amb;
shr->diff[0] += f*shadfac[0];
shr->diff[1] += f*shadfac[1];
shr->diff[2] += f*shadfac[2];
diff --git a/source/blender/src/buttons_shading.c b/source/blender/src/buttons_shading.c
index a1bdeb8e98c..ee16813f811 100644
--- a/source/blender/src/buttons_shading.c
+++ b/source/blender/src/buttons_shading.c
@@ -1731,7 +1731,7 @@ static void world_panel_amb_occ(World *wrld)
uiDefButS(block, ROW, B_REDR, "Sky Texture", 210, 25, 100, 20, &wrld->aocolor, 2.0, (float)WO_AOSKYTEX, 0, 0, "Does full Sky texture render for diffuse energy");
uiBlockEndAlign(block);
- uiDefButF(block, NUMSLI, 0, "Energy:", 10, 0, 300, 19, &wrld->aoenergy, 0.01, 50.0, 100, 0, "Sets global energy scale for AO");
+ uiDefButF(block, NUMSLI, 0, "Energy:", 10, 0, 300, 19, &wrld->aoenergy, 0.01, 3.0, 100, 0, "Sets global energy scale for AO");
}
}