diff --git a/build_files/scons/config/win32-mingw-config.py b/build_files/scons/config/win32-mingw-config.py index d9fafbda5b0..e4f8827b7c8 100644 --- a/build_files/scons/config/win32-mingw-config.py +++ b/build_files/scons/config/win32-mingw-config.py @@ -156,15 +156,15 @@ WITH_BF_CYCLES = True WITH_BF_OIIO = True BF_OIIO = LIBDIR + '/gcc/openimageio' -BF_OIIO_INC = '#../lib/windows/gcc/openimageio/include' +BF_OIIO_INC = BF_OIIO + '/include' BF_OIIO_LIB = 'OpenImageIO' -BF_OIIO_LIBPATH = '#../lib/windows/gcc/openimageio/lib' +BF_OIIO_LIBPATH = BF_OIIO + '/lib' WITH_BF_BOOST = True BF_BOOST = LIBDIR + '/boost' -BF_BOOST_INC = '#../lib/windows/boost/include' +BF_BOOST_INC = BF_BOOST + '/include' BF_BOOST_LIB = 'boost_date_time-mgw45-mt-s-1_47 boost_filesystem-mgw45-mt-s-1_47 boost_regex-mgw45-mt-s-1_47 boost_system-mgw45-mt-s-1_47 boost_thread-mgw45-mt-s-1_47' -BF_BOOST_LIBPATH = '#../lib/windows/boost/lib/gcc' +BF_BOOST_LIBPATH = BF_BOOST + '/lib/gcc' #Ray trace optimization WITH_BF_RAYOPTIMIZATION = True diff --git a/intern/cycles/kernel/osl/nodes/node_hsv.osl b/intern/cycles/kernel/osl/nodes/node_hsv.osl index da776c8909e..8fd7a1612e8 100644 --- a/intern/cycles/kernel/osl/nodes/node_hsv.osl +++ b/intern/cycles/kernel/osl/nodes/node_hsv.osl @@ -30,7 +30,8 @@ shader node_hsv( float t = clamp(Fac, 0.0, 1.0); color Color = rgb_to_hsv(ColorIn); - Color[0] += Hue - 0.5; + // remember: fmod doesn't work for negative numbers + Color[0] += Hue + 0.5; Color[0] = fmod(Color[0], 1.0); Color[1] *= Saturation; Color[2] *= Value; diff --git a/intern/cycles/kernel/svm/svm_hsv.h b/intern/cycles/kernel/svm/svm_hsv.h index fc927f297f5..ed17d3fc985 100644 --- a/intern/cycles/kernel/svm/svm_hsv.h +++ b/intern/cycles/kernel/svm/svm_hsv.h @@ -110,7 +110,8 @@ __device void svm_node_hsv(KernelGlobals *kg, ShaderData *sd, float *stack, uint color = rgb_to_hsv(color); - color.x += hue - 0.5f; + // remember: fmod doesn't work for negative numbers + color.x += hue + 0.5f; color.x = fmod(color.x, 1.0f); color.y *= sat; color.z *= val; diff --git a/source/blender/modifiers/intern/MOD_mirror.c b/source/blender/modifiers/intern/MOD_mirror.c index ea2d64adebc..30d205c198f 100644 --- a/source/blender/modifiers/intern/MOD_mirror.c +++ b/source/blender/modifiers/intern/MOD_mirror.c @@ -93,15 +93,10 @@ static void updateDepgraph(ModifierData *md, DagForest *forest, } } - -/* Mirror */ -#define VERT_NEW 1 - static DerivedMesh *doMirrorOnAxis(MirrorModifierData *mmd, - Object *ob, - DerivedMesh *dm, - int UNUSED(initFlags), - int axis) + Object *ob, + DerivedMesh *dm, + int axis) { float tolerance_sq; DerivedMesh *cddm, *origdm; @@ -266,23 +261,22 @@ static DerivedMesh *doMirrorOnAxis(MirrorModifierData *mmd, } static DerivedMesh *mirrorModifier__doMirror(MirrorModifierData *mmd, - Object *ob, DerivedMesh *dm, - int initFlags) + Object *ob, DerivedMesh *dm) { DerivedMesh *result = dm; /* check which axes have been toggled and mirror accordingly */ if(mmd->flag & MOD_MIR_AXIS_X) { - result = doMirrorOnAxis(mmd, ob, result, initFlags, 0); + result = doMirrorOnAxis(mmd, ob, result, 0); } if(mmd->flag & MOD_MIR_AXIS_Y) { DerivedMesh *tmp = result; - result = doMirrorOnAxis(mmd, ob, result, initFlags, 1); + result = doMirrorOnAxis(mmd, ob, result, 1); if(tmp != dm) tmp->release(tmp); /* free intermediate results */ } if(mmd->flag & MOD_MIR_AXIS_Z) { DerivedMesh *tmp = result; - result = doMirrorOnAxis(mmd, ob, result, initFlags, 2); + result = doMirrorOnAxis(mmd, ob, result, 2); if(tmp != dm) tmp->release(tmp); /* free intermediate results */ } @@ -297,7 +291,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, DerivedMesh *result; MirrorModifierData *mmd = (MirrorModifierData*) md; - result = mirrorModifier__doMirror(mmd, ob, derivedData, 0); + result = mirrorModifier__doMirror(mmd, ob, derivedData); if(result != derivedData) CDDM_calc_normals(result);