[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [59379] branches/soc-2013-depsgraph_mt: Merging r59367 through r59378 from trunk into soc-2013-depsgraph_mt
Sergey Sharybin
sergey.vfx at gmail.com
Thu Aug 22 09:32:45 CEST 2013
Revision: 59379
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59379
Author: nazgul
Date: 2013-08-22 07:32:44 +0000 (Thu, 22 Aug 2013)
Log Message:
-----------
Merging r59367 through r59378 from trunk into soc-2013-depsgraph_mt
Revision Links:
--------------
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59367
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59378
Modified Paths:
--------------
branches/soc-2013-depsgraph_mt/build_files/build_environment/install_deps.sh
branches/soc-2013-depsgraph_mt/release/scripts/freestyle/style_modules/parameter_editor.py
branches/soc-2013-depsgraph_mt/source/blender/blenkernel/intern/pbvh.c
branches/soc-2013-depsgraph_mt/source/blender/blenkernel/intern/pbvh_bmesh.c
branches/soc-2013-depsgraph_mt/source/blender/blenlib/BLI_ghash.h
branches/soc-2013-depsgraph_mt/source/blender/blenlib/BLI_math_geom.h
branches/soc-2013-depsgraph_mt/source/blender/blenlib/BLI_sort.h
branches/soc-2013-depsgraph_mt/source/blender/blenlib/intern/BLI_ghash.c
branches/soc-2013-depsgraph_mt/source/blender/blenlib/intern/edgehash.c
branches/soc-2013-depsgraph_mt/source/blender/blenlib/intern/math_geom.c
branches/soc-2013-depsgraph_mt/source/blender/blenlib/intern/sort.c
branches/soc-2013-depsgraph_mt/source/blender/bmesh/intern/bmesh_core.c
branches/soc-2013-depsgraph_mt/source/blender/bmesh/intern/bmesh_log.c
branches/soc-2013-depsgraph_mt/source/blender/editors/space_buttons/buttons_texture.c
branches/soc-2013-depsgraph_mt/source/blender/makesdna/DNA_space_types.h
branches/soc-2013-depsgraph_mt/source/blender/makesrna/intern/rna_define.c
branches/soc-2013-depsgraph_mt/source/blender/makesrna/intern/rna_space.c
Property Changed:
----------------
branches/soc-2013-depsgraph_mt/
branches/soc-2013-depsgraph_mt/source/blender/editors/interface/interface.c
branches/soc-2013-depsgraph_mt/source/blender/editors/space_outliner/
Property changes on: branches/soc-2013-depsgraph_mt
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/ge_dev:58091-58422
/branches/ge_harmony:42255,42279-42282,42286,42302,42338,42349,42616,42620,42698-42699,42739,42753,42773-42774,42832,44568,44597-44598,44793-44794
/branches/soc-2011-cucumber:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/soc-2011-tomato:42376,42378-42379,42383,42385,42395,42397-42400,42407,42411,42418,42443-42444,42446,42467,42472,42486,42650-42652,42654-42655,42709-42710,42733-42734,42801,43872,44130,44141,44147-44149,44151-44152,44229-44230,45623-45625,46037,48089,48092,48551-48552,48679,48790,48792-48793,49076,49087,49292,49294,49466,49894,50052,50126,52854-52856,54573,58822,58989
/branches/soc-2013-dingto:57424,57487,57507,57525,57599,57670,57918-57919,57981,58091,58245,58253,58587,58772,58774-58775,58828,58835,59032
/tags/blender-2.67b-release/blender:57122
/trunk/blender:57395-59366
+ /branches/ge_dev:58091-58422
/branches/ge_harmony:42255,42279-42282,42286,42302,42338,42349,42616,42620,42698-42699,42739,42753,42773-42774,42832,44568,44597-44598,44793-44794
/branches/soc-2011-cucumber:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/soc-2011-tomato:42376,42378-42379,42383,42385,42395,42397-42400,42407,42411,42418,42443-42444,42446,42467,42472,42486,42650-42652,42654-42655,42709-42710,42733-42734,42801,43872,44130,44141,44147-44149,44151-44152,44229-44230,45623-45625,46037,48089,48092,48551-48552,48679,48790,48792-48793,49076,49087,49292,49294,49466,49894,50052,50126,52854-52856,54573,58822,58989
/branches/soc-2013-dingto:57424,57487,57507,57525,57599,57670,57918-57919,57981,58091,58245,58253,58587,58772,58774-58775,58828,58835,59032
/tags/blender-2.67b-release/blender:57122
/trunk/blender:57395-59378
Modified: branches/soc-2013-depsgraph_mt/build_files/build_environment/install_deps.sh
===================================================================
--- branches/soc-2013-depsgraph_mt/build_files/build_environment/install_deps.sh 2013-08-22 06:05:40 UTC (rev 59378)
+++ branches/soc-2013-depsgraph_mt/build_files/build_environment/install_deps.sh 2013-08-22 07:32:44 UTC (rev 59379)
@@ -212,6 +212,7 @@
OPENEXR_FORCE_REBUILD=false
OPENEXR_SKIP=false
_with_built_openexr=false
+_need_openexr_ldconfig=false
OIIO_VERSION="1.1.10"
OIIO_SOURCE="https://github.com/OpenImageIO/oiio/archive/Release-$OIIO_VERSION.tar.gz"
@@ -230,6 +231,7 @@
# OSL needs to be compiled for now!
OSL_VERSION="1.3.2"
+OSL_VERSION_MIN=$OSL_VERSION
OSL_SOURCE="https://github.com/imageworks/OpenShadingLanguage/archive/Release-$OSL_VERSION.tar.gz"
OSL_FORCE_REBUILD=false
OSL_SKIP=false
@@ -2776,7 +2778,7 @@
if [ $? -eq 0 ]; then
install_packages_ARCH llvm clang
have_llvm=true
- LLVM_VERSION=`check_package_version_ge_ARCH llvm`
+ LLVM_VERSION=`check_package_version_ge_ARCH llvm $LLVM_VERSION_MIN`
LLVM_VERSION_FOUND=$LLVM_VERSION
clean_LLVM
else
Modified: branches/soc-2013-depsgraph_mt/release/scripts/freestyle/style_modules/parameter_editor.py
===================================================================
--- branches/soc-2013-depsgraph_mt/release/scripts/freestyle/style_modules/parameter_editor.py 2013-08-22 06:05:40 UTC (rev 59378)
+++ branches/soc-2013-depsgraph_mt/release/scripts/freestyle/style_modules/parameter_editor.py 2013-08-22 07:32:44 UTC (rev 59379)
@@ -38,24 +38,29 @@
from logical_operators import AndUP1D, NotUP1D, OrUP1D
from shaders import pyBluePrintCirclesShader, pyBluePrintEllipsesShader, pyBluePrintSquaresShader
+
class ColorRampModifier(StrokeShader):
def __init__(self, blend, influence, ramp):
StrokeShader.__init__(self)
self.__blend = blend
self.__influence = influence
self.__ramp = ramp
+
def evaluate(self, t):
col = freestyle.evaluateColorRamp(self.__ramp, t)
- col = col.xyz # omit alpha
+ col = col.xyz # omit alpha
return col
+
def blend_ramp(self, a, b):
return freestyle.blendRamp(self.__blend, a, self.__influence, b)
+
class ScalarBlendModifier(StrokeShader):
def __init__(self, blend, influence):
StrokeShader.__init__(self)
self.__blend = blend
self.__influence = influence
+
def blend(self, v1, v2):
fac = self.__influence
facm = 1.0 - fac
@@ -64,7 +69,7 @@
elif self.__blend == 'ADD':
v1 += fac * v2
elif self.__blend == 'MULTIPLY':
- v1 *= facm + fac * v2;
+ v1 *= facm + fac * v2
elif self.__blend == 'SUBTRACT':
v1 -= fac * v2
elif self.__blend == 'DIVIDE':
@@ -84,6 +89,7 @@
raise ValueError("unknown curve blend type: " + self.__blend)
return v1
+
class CurveMappingModifier(ScalarBlendModifier):
def __init__(self, blend, influence, mapping, invert, curve):
ScalarBlendModifier.__init__(self, blend, influence)
@@ -91,19 +97,24 @@
self.__mapping = getattr(self, mapping)
self.__invert = invert
self.__curve = curve
+
def LINEAR(self, t):
if self.__invert:
return 1.0 - t
return t
+
def CURVE(self, t):
return freestyle.evaluateCurveMappingF(self.__curve, 0, t)
+
def evaluate(self, t):
return self.__mapping(t)
+
class ThicknessModifierMixIn:
def __init__(self):
scene = freestyle.getCurrentScene()
self.__persp_camera = (scene.camera.data.type == 'PERSP')
+
def set_thickness(self, sv, outer, inner):
fe = sv.first_svertex.get_fedge(sv.second_svertex)
nature = fe.nature
@@ -114,20 +125,22 @@
dir = point.dot(fe.normal_left)
else:
dir = fe.normal_left.z
- if dir < 0.0: # the back side is visible
+ if dir < 0.0: # the back side is visible
outer, inner = inner, outer
elif (nature & Nature.SILHOUETTE):
- if fe.is_smooth: # TODO more tests needed
+ if fe.is_smooth: # TODO more tests needed
outer, inner = inner, outer
else:
outer = inner = (outer + inner) / 2
sv.attribute.thickness = (outer, inner)
+
class ThicknessBlenderMixIn(ThicknessModifierMixIn):
def __init__(self, position, ratio):
ThicknessModifierMixIn.__init__(self)
self.__position = position
self.__ratio = ratio
+
def blend_thickness(self, outer, inner, v):
if self.__position == 'CENTER':
outer = self.blend(outer, v / 2)
@@ -145,9 +158,11 @@
raise ValueError("unknown thickness position: " + self.__position)
return outer, inner
+
class BaseColorShader(ConstantColorShader):
pass
+
class BaseThicknessShader(StrokeShader, ThicknessModifierMixIn):
def __init__(self, thickness, position, ratio):
StrokeShader.__init__(self)
@@ -166,6 +181,7 @@
self.__inner = thickness * (1 - ratio)
else:
raise ValueError("unknown thickness position: " + self.position)
+
def shade(self, stroke):
it = stroke.stroke_vertices_begin()
while not it.is_end:
@@ -173,6 +189,7 @@
self.set_thickness(sv, self.__outer, self.__inner)
it.increment()
+
# Along Stroke modifiers
def iter_t2d_along_stroke(stroke):
@@ -183,11 +200,12 @@
while not it.is_end:
p = it.object.point
distance += (prev - p).length
- prev = p.copy() # need a copy because the point can be altered
+ prev = p.copy() # need a copy because the point can be altered
t = min(distance / total, 1.0) if total > 0.0 else 0.0
yield it, t
it.increment()
+
class ColorAlongStrokeShader(ColorRampModifier):
def shade(self, stroke):
for it, t in iter_t2d_along_stroke(stroke):
@@ -196,6 +214,7 @@
b = self.evaluate(t)
sv.attribute.color = self.blend_ramp(a, b)
+
class AlphaAlongStrokeShader(CurveMappingModifier):
def shade(self, stroke):
for it, t in iter_t2d_along_stroke(stroke):
@@ -204,6 +223,7 @@
b = self.evaluate(t)
sv.attribute.alpha = self.blend(a, b)
+
class ThicknessAlongStrokeShader(ThicknessBlenderMixIn, CurveMappingModifier):
def __init__(self, thickness_position, thickness_ratio,
blend, influence, mapping, invert, curve, value_min, value_max):
@@ -211,6 +231,7 @@
CurveMappingModifier.__init__(self, blend, influence, mapping, invert, curve)
self.__value_min = value_min
self.__value_max = value_max
+
def shade(self, stroke):
for it, t in iter_t2d_along_stroke(stroke):
sv = it.object
@@ -219,13 +240,14 @@
c = self.blend_thickness(a[0], a[1], b)
self.set_thickness(sv, c[0], c[1])
+
# Distance from Camera modifiers
def iter_distance_from_camera(stroke, range_min, range_max):
- normfac = range_max - range_min # normalization factor
+ normfac = range_max - range_min # normalization factor
it = stroke.stroke_vertices_begin()
while not it.is_end:
- p = it.object.point_3d # in the camera coordinate
+ p = it.object.point_3d # in the camera coordinate
distance = p.length
if distance < range_min:
t = 0.0
@@ -236,11 +258,13 @@
yield it, t
it.increment()
+
class ColorDistanceFromCameraShader(ColorRampModifier):
def __init__(self, blend, influence, ramp, range_min, range_max):
ColorRampModifier.__init__(self, blend, influence, ramp)
self.__range_min = range_min
self.__range_max = range_max
+
def shade(self, stroke):
for it, t in iter_distance_from_camera(stroke, self.__range_min, self.__range_max):
sv = it.object
@@ -248,11 +272,13 @@
b = self.evaluate(t)
sv.attribute.color = self.blend_ramp(a, b)
+
class AlphaDistanceFromCameraShader(CurveMappingModifier):
def __init__(self, blend, influence, mapping, invert, curve, range_min, range_max):
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list