[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42183] branches/bmesh/blender: svn merge ^/trunk/blender -r42172:42182
Campbell Barton
ideasman42 at gmail.com
Sun Nov 27 02:43:05 CET 2011
Revision: 42183
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42183
Author: campbellbarton
Date: 2011-11-27 01:42:56 +0000 (Sun, 27 Nov 2011)
Log Message:
-----------
svn merge ^/trunk/blender -r42172:42182
Revision Links:
--------------
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42172
Modified Paths:
--------------
branches/bmesh/blender/release/scripts/modules/addon_utils.py
branches/bmesh/blender/source/blender/blenkernel/intern/material.c
branches/bmesh/blender/source/blender/blenlib/BLI_mempool.h
branches/bmesh/blender/source/blender/blenlib/intern/BLI_mempool.c
branches/bmesh/blender/source/blender/editors/space_image/image_buttons.c
branches/bmesh/blender/source/blender/python/generic/idprop_py_api.c
branches/bmesh/blender/source/blender/render/extern/include/RE_engine.h
branches/bmesh/blender/source/blender/render/intern/source/external_engine.c
branches/bmesh/blender/source/blender/render/intern/source/pipeline.c
Property Changed:
----------------
branches/bmesh/blender/
branches/bmesh/blender/release/
branches/bmesh/blender/source/blender/editors/space_outliner/
Property changes on: branches/bmesh/blender
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/soc-2011-cucumber:37517
/trunk/blender:39992-42172
+ /branches/soc-2011-cucumber:37517
/trunk/blender:39992-42182
Property changes on: branches/bmesh/blender/release
___________________________________________________________________
Modified: svn:mergeinfo
- /trunk/blender/release:31524-42172
+ /trunk/blender/release:31524-42182
Modified: branches/bmesh/blender/release/scripts/modules/addon_utils.py
===================================================================
--- branches/bmesh/blender/release/scripts/modules/addon_utils.py 2011-11-27 01:20:08 UTC (rev 42182)
+++ branches/bmesh/blender/release/scripts/modules/addon_utils.py 2011-11-27 01:42:56 UTC (rev 42183)
@@ -235,7 +235,8 @@
# reload if the mtime changes
mod = sys.modules.get(module_name)
- if mod:
+ # chances of the file _not_ existing are low, but it could be removed
+ if mod and os.path.exists(mod.__file__):
mod.__addon_enabled__ = False
mtime_orig = getattr(mod, "__time__", 0)
mtime_new = os.path.getmtime(mod.__file__)
@@ -252,6 +253,7 @@
# Split registering up into 3 steps so we can undo
# if it fails par way through.
+
# 1) try import
try:
mod = __import__(module_name)
Modified: branches/bmesh/blender/source/blender/blenkernel/intern/material.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/material.c 2011-11-27 01:20:08 UTC (rev 42182)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/material.c 2011-11-27 01:42:56 UTC (rev 42183)
@@ -1178,8 +1178,7 @@
}
-/* r g b = current value, col = new value, fac==0 is no change */
-/* if g==NULL, it only does r channel */
+/* r_col = current value, col = new value, fac==0 is no change */
void ramp_blend(int type, float r_col[3], const float fac, const float col[3])
{
float tmp, facm= 1.0f-fac;
@@ -1187,165 +1186,137 @@
switch (type) {
case MA_RAMP_BLEND:
r_col[0] = facm*(r_col[0]) + fac*col[0];
- if(r_col[1]) {
- r_col[1] = facm*(r_col[1]) + fac*col[1];
- r_col[2] = facm*(r_col[2]) + fac*col[2];
- }
- break;
+ r_col[1] = facm*(r_col[1]) + fac*col[1];
+ r_col[2] = facm*(r_col[2]) + fac*col[2];
+ break;
case MA_RAMP_ADD:
r_col[0] += fac*col[0];
- if(r_col[1]) {
- r_col[1] += fac*col[1];
- r_col[2] += fac*col[2];
- }
- break;
+ r_col[1] += fac*col[1];
+ r_col[2] += fac*col[2];
+ break;
case MA_RAMP_MULT:
r_col[0] *= (facm + fac*col[0]);
- if(r_col[1]) {
- r_col[1] *= (facm + fac*col[1]);
- r_col[2] *= (facm + fac*col[2]);
- }
- break;
+ r_col[1] *= (facm + fac*col[1]);
+ r_col[2] *= (facm + fac*col[2]);
+ break;
case MA_RAMP_SCREEN:
r_col[0] = 1.0f - (facm + fac*(1.0f - col[0])) * (1.0f - r_col[0]);
- if(r_col[1]) {
- r_col[1] = 1.0f - (facm + fac*(1.0f - col[1])) * (1.0f - r_col[1]);
- r_col[2] = 1.0f - (facm + fac*(1.0f - col[2])) * (1.0f - r_col[2]);
- }
- break;
+ r_col[1] = 1.0f - (facm + fac*(1.0f - col[1])) * (1.0f - r_col[1]);
+ r_col[2] = 1.0f - (facm + fac*(1.0f - col[2])) * (1.0f - r_col[2]);
+ break;
case MA_RAMP_OVERLAY:
if(r_col[0] < 0.5f)
r_col[0] *= (facm + 2.0f*fac*col[0]);
else
r_col[0] = 1.0f - (facm + 2.0f*fac*(1.0f - col[0])) * (1.0f - r_col[0]);
- if(r_col[1]) {
- if(r_col[1] < 0.5f)
- r_col[1] *= (facm + 2.0f*fac*col[1]);
- else
- r_col[1] = 1.0f - (facm + 2.0f*fac*(1.0f - col[1])) * (1.0f - r_col[1]);
- if(r_col[2] < 0.5f)
- r_col[2] *= (facm + 2.0f*fac*col[2]);
- else
- r_col[2] = 1.0f - (facm + 2.0f*fac*(1.0f - col[2])) * (1.0f - r_col[2]);
- }
- break;
+ if(r_col[1] < 0.5f)
+ r_col[1] *= (facm + 2.0f*fac*col[1]);
+ else
+ r_col[1] = 1.0f - (facm + 2.0f*fac*(1.0f - col[1])) * (1.0f - r_col[1]);
+ if(r_col[2] < 0.5f)
+ r_col[2] *= (facm + 2.0f*fac*col[2]);
+ else
+ r_col[2] = 1.0f - (facm + 2.0f*fac*(1.0f - col[2])) * (1.0f - r_col[2]);
+ break;
case MA_RAMP_SUB:
r_col[0] -= fac*col[0];
- if(r_col[1]) {
- r_col[1] -= fac*col[1];
- r_col[2] -= fac*col[2];
- }
- break;
+ r_col[1] -= fac*col[1];
+ r_col[2] -= fac*col[2];
+ break;
case MA_RAMP_DIV:
if(col[0]!=0.0f)
r_col[0] = facm*(r_col[0]) + fac*(r_col[0])/col[0];
- if(r_col[1]) {
- if(col[1]!=0.0f)
- r_col[1] = facm*(r_col[1]) + fac*(r_col[1])/col[1];
- if(col[2]!=0.0f)
- r_col[2] = facm*(r_col[2]) + fac*(r_col[2])/col[2];
- }
- break;
+ if(col[1]!=0.0f)
+ r_col[1] = facm*(r_col[1]) + fac*(r_col[1])/col[1];
+ if(col[2]!=0.0f)
+ r_col[2] = facm*(r_col[2]) + fac*(r_col[2])/col[2];
+ break;
case MA_RAMP_DIFF:
r_col[0] = facm*(r_col[0]) + fac*fabsf(r_col[0]-col[0]);
- if(r_col[1]) {
- r_col[1] = facm*(r_col[1]) + fac*fabsf(r_col[1]-col[1]);
- r_col[2] = facm*(r_col[2]) + fac*fabsf(r_col[2]-col[2]);
- }
- break;
+ r_col[1] = facm*(r_col[1]) + fac*fabsf(r_col[1]-col[1]);
+ r_col[2] = facm*(r_col[2]) + fac*fabsf(r_col[2]-col[2]);
+ break;
case MA_RAMP_DARK:
- tmp=col[0]+((1-col[0])*facm);
+ tmp=col[0]+((1-col[0])*facm);
if(tmp < r_col[0]) r_col[0]= tmp;
- if(r_col[1]) {
- tmp=col[1]+((1-col[1])*facm);
- if(tmp < r_col[1]) r_col[1]= tmp;
- tmp=col[2]+((1-col[2])*facm);
- if(tmp < r_col[2]) r_col[2]= tmp;
- }
- break;
+ tmp=col[1]+((1-col[1])*facm);
+ if(tmp < r_col[1]) r_col[1]= tmp;
+ tmp=col[2]+((1-col[2])*facm);
+ if(tmp < r_col[2]) r_col[2]= tmp;
+ break;
case MA_RAMP_LIGHT:
tmp= fac*col[0];
if(tmp > r_col[0]) r_col[0]= tmp;
- if(r_col[1]) {
- tmp= fac*col[1];
- if(tmp > r_col[1]) r_col[1]= tmp;
- tmp= fac*col[2];
- if(tmp > r_col[2]) r_col[2]= tmp;
- }
- break;
- case MA_RAMP_DODGE:
-
-
+ tmp= fac*col[1];
+ if(tmp > r_col[1]) r_col[1]= tmp;
+ tmp= fac*col[2];
+ if(tmp > r_col[2]) r_col[2]= tmp;
+ break;
+ case MA_RAMP_DODGE:
if(r_col[0] !=0.0f){
tmp = 1.0f - fac*col[0];
if(tmp <= 0.0f)
r_col[0] = 1.0f;
else if ((tmp = (r_col[0]) / tmp)> 1.0f)
r_col[0] = 1.0f;
- else
+ else
r_col[0] = tmp;
}
- if(r_col[1]) {
- if(r_col[1] !=0.0f){
- tmp = 1.0f - fac*col[1];
- if(tmp <= 0.0f )
- r_col[1] = 1.0f;
- else if ((tmp = (r_col[1]) / tmp) > 1.0f )
- r_col[1] = 1.0f;
- else
- r_col[1] = tmp;
- }
- if(r_col[2] !=0.0f){
- tmp = 1.0f - fac*col[2];
- if(tmp <= 0.0f)
- r_col[2] = 1.0f;
- else if ((tmp = (r_col[2]) / tmp) > 1.0f )
- r_col[2] = 1.0f;
- else
- r_col[2] = tmp;
- }
-
+ if(r_col[1] !=0.0f){
+ tmp = 1.0f - fac*col[1];
+ if(tmp <= 0.0f )
+ r_col[1] = 1.0f;
+ else if ((tmp = (r_col[1]) / tmp) > 1.0f )
+ r_col[1] = 1.0f;
+ else
+ r_col[1] = tmp;
}
- break;
+ if(r_col[2] !=0.0f){
+ tmp = 1.0f - fac*col[2];
+ if(tmp <= 0.0f)
+ r_col[2] = 1.0f;
+ else if ((tmp = (r_col[2]) / tmp) > 1.0f )
+ r_col[2] = 1.0f;
+ else
+ r_col[2] = tmp;
+ }
+ break;
case MA_RAMP_BURN:
-
tmp = facm + fac*col[0];
-
+
if(tmp <= 0.0f)
r_col[0] = 0.0f;
else if (( tmp = (1.0f - (1.0f - (r_col[0])) / tmp )) < 0.0f)
r_col[0] = 0.0f;
else if (tmp > 1.0f)
r_col[0]=1.0f;
- else
+ else
r_col[0] = tmp;
- if(r_col[1]) {
- tmp = facm + fac*col[1];
- if(tmp <= 0.0f)
+ tmp = facm + fac*col[1];
+ if(tmp <= 0.0f)
+ r_col[1] = 0.0f;
+ else if (( tmp = (1.0f - (1.0f - (r_col[1])) / tmp )) < 0.0f )
r_col[1] = 0.0f;
- else if (( tmp = (1.0f - (1.0f - (r_col[1])) / tmp )) < 0.0f )
- r_col[1] = 0.0f;
- else if(tmp >1.0f)
- r_col[1]=1.0f;
- else
- r_col[1] = tmp;
+ else if(tmp >1.0f)
+ r_col[1]=1.0f;
+ else
+ r_col[1] = tmp;
- tmp = facm + fac*col[2];
- if(tmp <= 0.0f)
+ tmp = facm + fac*col[2];
+ if(tmp <= 0.0f)
+ r_col[2] = 0.0f;
+ else if (( tmp = (1.0f - (1.0f - (r_col[2])) / tmp )) < 0.0f )
r_col[2] = 0.0f;
- else if (( tmp = (1.0f - (1.0f - (r_col[2])) / tmp )) < 0.0f )
- r_col[2] = 0.0f;
- else if(tmp >1.0f)
- r_col[2]= 1.0f;
- else
- r_col[2] = tmp;
- }
- break;
- case MA_RAMP_HUE:
- if(r_col[1]){
+ else if(tmp >1.0f)
+ r_col[2]= 1.0f;
+ else
+ r_col[2] = tmp;
+ break;
+ case MA_RAMP_HUE:
+ {
float rH,rS,rV;
- float colH,colS,colV;
+ float colH,colS,colV;
float tmpr,tmpg,tmpb;
rgb_to_hsv(col[0],col[1],col[2],&colH,&colS,&colV);
if(colS!=0 ){
@@ -1356,9 +1327,9 @@
r_col[2] = facm*(r_col[2]) + fac*tmpb;
}
}
- break;
- case MA_RAMP_SAT:
- if(r_col[1]){
+ break;
+ case MA_RAMP_SAT:
+ {
float rH,rS,rV;
float colH,colS,colV;
rgb_to_hsv(r_col[0],r_col[1],r_col[2],&rH,&rS,&rV);
@@ -1367,18 +1338,18 @@
hsv_to_rgb( rH, (facm*rS +fac*colS), rV, r_col+0, r_col+1, r_col+2);
}
}
- break;
- case MA_RAMP_VAL:
- if(r_col[1]){
+ break;
+ case MA_RAMP_VAL:
+ {
float rH,rS,rV;
float colH,colS,colV;
rgb_to_hsv(r_col[0],r_col[1],r_col[2],&rH,&rS,&rV);
rgb_to_hsv(col[0],col[1],col[2],&colH,&colS,&colV);
hsv_to_rgb( rH, rS, (facm*rV +fac*colV), r_col+0, r_col+1, r_col+2);
}
- break;
- case MA_RAMP_COLOR:
- if(r_col[1]){
+ break;
+ case MA_RAMP_COLOR:
+ {
float rH,rS,rV;
float colH,colS,colV;
float tmpr,tmpg,tmpb;
@@ -1391,12 +1362,12 @@
r_col[2] = facm*(r_col[2]) + fac*tmpb;
}
}
- break;
- case MA_RAMP_SOFT:
- if (r_col[1]){
- float scr, scg, scb;
+ break;
+ case MA_RAMP_SOFT:
+ {
+ float scr, scg, scb;
- /* first calculate non-fac based Screen mix */
+ /* first calculate non-fac based Screen mix */
scr = 1.0f - (1.0f - col[0]) * (1.0f - r_col[0]);
scg = 1.0f - (1.0f - col[1]) * (1.0f - r_col[1]);
scb = 1.0f - (1.0f - col[2]) * (1.0f - r_col[2]);
@@ -1404,25 +1375,23 @@
r_col[0] = facm*(r_col[0]) + fac*(((1.0f - r_col[0]) * col[0] * (r_col[0])) + (r_col[0] * scr));
r_col[1] = facm*(r_col[1]) + fac*(((1.0f - r_col[1]) * col[1] * (r_col[1])) + (r_col[1] * scg));
r_col[2] = facm*(r_col[2]) + fac*(((1.0f - r_col[2]) * col[2] * (r_col[2])) + (r_col[2] * scb));
- }
- break;
- case MA_RAMP_LINEAR:
- if (col[0] > 0.5f)
+ }
+ break;
+ case MA_RAMP_LINEAR:
+ if (col[0] > 0.5f)
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list