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:
authorCampbell Barton <ideasman42@gmail.com>2006-05-13 09:24:58 +0400
committerCampbell Barton <ideasman42@gmail.com>2006-05-13 09:24:58 +0400
commit2bcf11defb2f570b625b4f05d31662a1af18cc10 (patch)
tree194c21d3c58370ccaef4cd3b481330ac2d3c6223 /release/scripts/vertexpaint_selfshadow_ao.py
parent50a1d9fc8bfcd376ba808da54a0fa828aa32c9f2 (diff)
BPyMesh_redux: Fixed a rare bug in mesh redux's, collapsed location.
BPyMesh_redux: made redux support non UV Meshes. vertexpaint_selfshadow_ao: turned vertex selfshadow scale into radius.
Diffstat (limited to 'release/scripts/vertexpaint_selfshadow_ao.py')
-rw-r--r--release/scripts/vertexpaint_selfshadow_ao.py24
1 files changed, 14 insertions, 10 deletions
diff --git a/release/scripts/vertexpaint_selfshadow_ao.py b/release/scripts/vertexpaint_selfshadow_ao.py
index 557e7cd3f29..9323fc8d97b 100644
--- a/release/scripts/vertexpaint_selfshadow_ao.py
+++ b/release/scripts/vertexpaint_selfshadow_ao.py
@@ -43,7 +43,7 @@ import BPyMesh
# reload(BPyMesh)
-def vertexFakeAO(me, PREF_BLUR_ITERATIONS, PREF_BLUR_SCALE, PREF_CLAMP_CONCAVE, PREF_CLAMP_CONVEX, PREF_SHADOW_ONLY, PREF_SEL_ONLY):
+def vertexFakeAO(me, PREF_BLUR_ITERATIONS, PREF_BLUR_RADIUS, PREF_CLAMP_CONCAVE, PREF_CLAMP_CONVEX, PREF_SHADOW_ONLY, PREF_SEL_ONLY):
Window.WaitCursor(1)
V=Mathutils.Vector
M=Mathutils.Matrix
@@ -98,7 +98,7 @@ def vertexFakeAO(me, PREF_BLUR_ITERATIONS, PREF_BLUR_SCALE, PREF_CLAMP_CONCAVE,
# BLUR TONE
- edge_lengths= [ ((ed.v1.co-ed.v2.co).length + 1) / PREF_BLUR_SCALE for ed in me.edges]
+ edge_lengths= [ ed.length for ed in me.edges]
for i in xrange(PREF_BLUR_ITERATIONS):
orig_vert_tone= list(vert_tone)
@@ -107,14 +107,18 @@ def vertexFakeAO(me, PREF_BLUR_ITERATIONS, PREF_BLUR_SCALE, PREF_CLAMP_CONCAVE,
i2= ed.v2.index
l= edge_lengths[ii]
+ f=1.0
+ if l < PREF_BLUR_RADIUS:
+ f= l/PREF_BLUR_RADIUS
+
len_vert_tone_list_i1 = vert_tone_count[i1]
len_vert_tone_list_i2 = vert_tone_count[i2]
if not len_vert_tone_list_i1: len_vert_tone_list_i1=1
if not len_vert_tone_list_i2: len_vert_tone_list_i2=1
- vert_tone[i1]+= (orig_vert_tone[i2]/len_vert_tone_list_i1)/ l
- vert_tone[i2]+= (orig_vert_tone[i1]/len_vert_tone_list_i2)/ l
+ vert_tone[i1]+= (orig_vert_tone[i2]/len_vert_tone_list_i1)/ f
+ vert_tone[i2]+= (orig_vert_tone[i1]/len_vert_tone_list_i2)/ f
min_tone= min(vert_tone)
@@ -148,16 +152,16 @@ def main():
Draw.PupMenu('Error, The active mesh does not have texface/vertex colors. aborting')
return
- PREF_BLUR_ITERATIONS= Draw.Create(0)
- PREF_BLUR_SCALE= Draw.Create(1.0)
+ PREF_BLUR_ITERATIONS= Draw.Create(1)
+ PREF_BLUR_RADIUS= Draw.Create(0.05)
PREF_CLAMP_CONCAVE= Draw.Create(180)
PREF_CLAMP_CONVEX= Draw.Create(180)
PREF_SHADOW_ONLY= Draw.Create(0)
PREF_SEL_ONLY= Draw.Create(0)
pup_block= [\
'Post AO Blur',\
- (' Iterations:', PREF_BLUR_ITERATIONS, 1, 40, 'Number times to blur the colors. (higher blurs more)'),\
- (' Blur Radius:', PREF_BLUR_SCALE, 0.1, 10.0, 'How much distance effects blur transfur (higher blurs more).'),\
+ (' Iterations:', PREF_BLUR_ITERATIONS, 0, 40, 'Number times to blur the colors. (higher blurs more)'),\
+ (' Blur Radius:', PREF_BLUR_RADIUS, 0.01, 40.0, 'How much distance effects blur transfur (higher blurs more).'),\
'Angle Clipping',\
(' Highlight Angle:', PREF_CLAMP_CONVEX, 0, 180, 'Less then 180 limits the angle used in the tonal range.'),\
(' Shadow Angle:', PREF_CLAMP_CONCAVE, 0, 180, 'Less then 180 limits the angle used in the tonal range.'),\
@@ -169,14 +173,14 @@ def main():
return
PREF_BLUR_ITERATIONS= PREF_BLUR_ITERATIONS.val
- PREF_BLUR_SCALE= PREF_BLUR_SCALE.val
+ PREF_BLUR_RADIUS= PREF_BLUR_RADIUS.val
PREF_CLAMP_CONCAVE= PREF_CLAMP_CONCAVE.val
PREF_CLAMP_CONVEX= PREF_CLAMP_CONVEX.val
PREF_SHADOW_ONLY= PREF_SHADOW_ONLY.val
PREF_SEL_ONLY= PREF_SEL_ONLY.val
#t= sys.time()
- vertexFakeAO(me, PREF_BLUR_ITERATIONS, PREF_BLUR_SCALE, PREF_CLAMP_CONCAVE, PREF_CLAMP_CONVEX, PREF_SHADOW_ONLY, PREF_SEL_ONLY)
+ vertexFakeAO(me, PREF_BLUR_ITERATIONS, PREF_BLUR_RADIUS, PREF_CLAMP_CONCAVE, PREF_CLAMP_CONVEX, PREF_SHADOW_ONLY, PREF_SEL_ONLY)
#print 'done in %.6f' % (sys.time()-t)
if __name__=='__main__':
main()