[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [56847] tags/blender-2.67a-release/blender : svn merge ^/trunk/ blender -c56620 -c56639 -c56643 -c56647 -c56648 -c56650 -c56651 -c56653 -c56654 -c56661 -c56662 -c56663 -c56668 -c56670 -c56671 -c56672 -c56673 -c56674 -c56676 -c56678 -c56679 -c56680 -c56682 -c56688 -c56689 -c56698 -c56700 -c56707 -c56711 -c56735 -c56745 -c56747 -c56748 -c56749 -c56755 -c56756 -c56759 -c56760 -c56763 -c56766 -c56767 -c56773 -c56778 -c56783 -c56784 -c56785 -c56790 -c56791 -c56793 -c56800 -c56806 -c56807 -c56809 -c56815 -c56816 -c56820
Campbell Barton
ideasman42 at gmail.com
Thu May 16 12:43:18 CEST 2013
Revision: 56847
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56847
Author: campbellbarton
Date: 2013-05-16 10:43:18 +0000 (Thu, 16 May 2013)
Log Message:
-----------
svn merge ^/trunk/blender -c56620 -c56639 -c56643 -c56647 -c56648 -c56650 -c56651 -c56653 -c56654 -c56661 -c56662 -c56663 -c56668 -c56670 -c56671 -c56672 -c56673 -c56674 -c56676 -c56678 -c56679 -c56680 -c56682 -c56688 -c56689 -c56698 -c56700 -c56707 -c56711 -c56735 -c56745 -c56747 -c56748 -c56749 -c56755 -c56756 -c56759 -c56760 -c56763 -c56766 -c56767 -c56773 -c56778 -c56783 -c56784 -c56785 -c56790 -c56791 -c56793 -c56800 -c56806 -c56807 -c56809 -c56815 -c56816 -c56820
Modified Paths:
--------------
tags/blender-2.67a-release/blender/intern/cycles/blender/blender_mesh.cpp
tags/blender-2.67a-release/blender/intern/cycles/blender/blender_shader.cpp
tags/blender-2.67a-release/blender/intern/cycles/kernel/osl/osl_services.cpp
tags/blender-2.67a-release/blender/intern/cycles/kernel/osl/osl_services.h
tags/blender-2.67a-release/blender/intern/cycles/kernel/shaders/node_normal_map.osl
tags/blender-2.67a-release/blender/intern/cycles/kernel/shaders/node_rgb_ramp.osl
tags/blender-2.67a-release/blender/intern/cycles/kernel/svm/svm_ramp.h
tags/blender-2.67a-release/blender/intern/cycles/kernel/svm/svm_tex_coord.h
tags/blender-2.67a-release/blender/intern/cycles/render/graph.cpp
tags/blender-2.67a-release/blender/intern/cycles/render/graph.h
tags/blender-2.67a-release/blender/intern/cycles/render/nodes.cpp
tags/blender-2.67a-release/blender/intern/cycles/render/nodes.h
tags/blender-2.67a-release/blender/intern/cycles/render/shader.cpp
tags/blender-2.67a-release/blender/release/scripts/startup/bl_operators/node.py
tags/blender-2.67a-release/blender/release/scripts/startup/bl_operators/view3d.py
tags/blender-2.67a-release/blender/source/blender/blenkernel/BKE_curve.h
tags/blender-2.67a-release/blender/source/blender/blenkernel/intern/cdderivedmesh.c
tags/blender-2.67a-release/blender/source/blender/blenkernel/intern/constraint.c
tags/blender-2.67a-release/blender/source/blender/blenkernel/intern/curve.c
tags/blender-2.67a-release/blender/source/blender/blenkernel/intern/customdata.c
tags/blender-2.67a-release/blender/source/blender/blenkernel/intern/depsgraph.c
tags/blender-2.67a-release/blender/source/blender/blenkernel/intern/displist.c
tags/blender-2.67a-release/blender/source/blender/blenkernel/intern/freestyle.c
tags/blender-2.67a-release/blender/source/blender/blenkernel/intern/lamp.c
tags/blender-2.67a-release/blender/source/blender/blenkernel/intern/material.c
tags/blender-2.67a-release/blender/source/blender/blenlib/intern/math_matrix.c
tags/blender-2.67a-release/blender/source/blender/blenlib/intern/string.c
tags/blender-2.67a-release/blender/source/blender/bmesh/intern/bmesh_walkers_impl.c
tags/blender-2.67a-release/blender/source/blender/bmesh/operators/bmo_edgesplit.c
tags/blender-2.67a-release/blender/source/blender/compositor/nodes/COM_GroupNode.cpp
tags/blender-2.67a-release/blender/source/blender/compositor/nodes/COM_GroupNode.h
tags/blender-2.67a-release/blender/source/blender/compositor/nodes/COM_ViewerNode.cpp
tags/blender-2.67a-release/blender/source/blender/compositor/nodes/COM_ZCombineNode.cpp
tags/blender-2.67a-release/blender/source/blender/compositor/operations/COM_BlurBaseOperation.h
tags/blender-2.67a-release/blender/source/blender/compositor/operations/COM_GaussianAlphaXBlurOperation.cpp
tags/blender-2.67a-release/blender/source/blender/compositor/operations/COM_GaussianAlphaYBlurOperation.cpp
tags/blender-2.67a-release/blender/source/blender/compositor/operations/COM_GaussianXBlurOperation.cpp
tags/blender-2.67a-release/blender/source/blender/compositor/operations/COM_GaussianYBlurOperation.cpp
tags/blender-2.67a-release/blender/source/blender/compositor/operations/COM_ZCombineOperation.cpp
tags/blender-2.67a-release/blender/source/blender/editors/armature/armature_ops.c
tags/blender-2.67a-release/blender/source/blender/editors/curve/curve_ops.c
tags/blender-2.67a-release/blender/source/blender/editors/include/UI_interface.h
tags/blender-2.67a-release/blender/source/blender/editors/include/UI_view2d.h
tags/blender-2.67a-release/blender/source/blender/editors/interface/interface.c
tags/blender-2.67a-release/blender/source/blender/editors/interface/interface_handlers.c
tags/blender-2.67a-release/blender/source/blender/editors/interface/interface_layout.c
tags/blender-2.67a-release/blender/source/blender/editors/interface/interface_regions.c
tags/blender-2.67a-release/blender/source/blender/editors/interface/interface_templates.c
tags/blender-2.67a-release/blender/source/blender/editors/interface/interface_widgets.c
tags/blender-2.67a-release/blender/source/blender/editors/interface/resources.c
tags/blender-2.67a-release/blender/source/blender/editors/interface/view2d.c
tags/blender-2.67a-release/blender/source/blender/editors/screen/area.c
tags/blender-2.67a-release/blender/source/blender/editors/sculpt_paint/paint_image.c
tags/blender-2.67a-release/blender/source/blender/editors/sculpt_paint/paint_image_2d.c
tags/blender-2.67a-release/blender/source/blender/editors/sculpt_paint/paint_image_proj.c
tags/blender-2.67a-release/blender/source/blender/editors/sculpt_paint/paint_intern.h
tags/blender-2.67a-release/blender/source/blender/editors/sculpt_paint/paint_ops.c
tags/blender-2.67a-release/blender/source/blender/editors/sculpt_paint/paint_stroke.c
tags/blender-2.67a-release/blender/source/blender/editors/sculpt_paint/sculpt.c
tags/blender-2.67a-release/blender/source/blender/editors/space_action/action_ops.c
tags/blender-2.67a-release/blender/source/blender/editors/space_file/file_draw.c
tags/blender-2.67a-release/blender/source/blender/editors/space_graph/graph_ops.c
tags/blender-2.67a-release/blender/source/blender/editors/space_logic/logic_window.c
tags/blender-2.67a-release/blender/source/blender/editors/space_node/node_ops.c
tags/blender-2.67a-release/blender/source/blender/editors/space_outliner/outliner_draw.c
tags/blender-2.67a-release/blender/source/blender/editors/space_sequencer/sequencer_ops.c
tags/blender-2.67a-release/blender/source/blender/editors/space_text/space_text.c
tags/blender-2.67a-release/blender/source/blender/editors/space_view3d/drawmesh.c
tags/blender-2.67a-release/blender/source/blender/editors/transform/transform.c
tags/blender-2.67a-release/blender/source/blender/freestyle/intern/application/Controller.cpp
tags/blender-2.67a-release/blender/source/blender/freestyle/intern/geometry/Bezier.cpp
tags/blender-2.67a-release/blender/source/blender/freestyle/intern/geometry/FitCurve.cpp
tags/blender-2.67a-release/blender/source/blender/freestyle/intern/python/BPy_Convert.cpp
tags/blender-2.67a-release/blender/source/blender/freestyle/intern/python/BPy_StrokeAttribute.cpp
tags/blender-2.67a-release/blender/source/blender/freestyle/intern/stroke/AdvancedStrokeShaders.cpp
tags/blender-2.67a-release/blender/source/blender/freestyle/intern/stroke/AdvancedStrokeShaders.h
tags/blender-2.67a-release/blender/source/blender/freestyle/intern/system/PseudoNoise.cpp
tags/blender-2.67a-release/blender/source/blender/freestyle/intern/system/PseudoNoise.h
tags/blender-2.67a-release/blender/source/blender/freestyle/intern/system/TimeStamp.cpp
tags/blender-2.67a-release/blender/source/blender/freestyle/intern/system/TimeStamp.h
tags/blender-2.67a-release/blender/source/blender/makesrna/RNA_access.h
tags/blender-2.67a-release/blender/source/blender/makesrna/intern/rna_access.c
tags/blender-2.67a-release/blender/source/blender/makesrna/intern/rna_nodetree.c
tags/blender-2.67a-release/blender/source/blender/makesrna/intern/rna_particle.c
tags/blender-2.67a-release/blender/source/blender/makesrna/intern/rna_scene.c
tags/blender-2.67a-release/blender/source/blender/makesrna/intern/rna_ui_api.c
tags/blender-2.67a-release/blender/source/blender/modifiers/intern/MOD_array.c
tags/blender-2.67a-release/blender/source/blender/modifiers/intern/MOD_boolean.c
tags/blender-2.67a-release/blender/source/blender/python/intern/bpy_rna.c
tags/blender-2.67a-release/blender/source/blender/render/intern/source/convertblender.c
tags/blender-2.67a-release/blender/source/blender/render/intern/source/imagetexture.c
tags/blender-2.67a-release/blender/source/blender/windowmanager/WM_api.h
tags/blender-2.67a-release/blender/source/blender/windowmanager/WM_keymap.h
tags/blender-2.67a-release/blender/source/blender/windowmanager/intern/wm_draw.c
tags/blender-2.67a-release/blender/source/blender/windowmanager/intern/wm_event_system.c
tags/blender-2.67a-release/blender/source/blender/windowmanager/intern/wm_keymap.c
tags/blender-2.67a-release/blender/source/gameengine/Converter/BL_BlenderDataConversion.cpp
tags/blender-2.67a-release/blender/source/gameengine/Converter/KX_BlenderSceneConverter.cpp
tags/blender-2.67a-release/blender/source/gameengine/Ketsji/BL_Action.cpp
tags/blender-2.67a-release/blender/source/gameengine/Ketsji/BL_Action.h
tags/blender-2.67a-release/blender/source/gameengine/Ketsji/BL_BlenderShader.cpp
tags/blender-2.67a-release/blender/source/gameengine/Rasterizer/RAS_BucketManager.cpp
Property Changed:
----------------
tags/blender-2.67a-release/blender/
tags/blender-2.67a-release/blender/source/blender/editors/interface/interface.c
tags/blender-2.67a-release/blender/source/blender/editors/space_outliner/
Property changes on: tags/blender-2.67a-release/blender
___________________________________________________________________
Modified: svn:mergeinfo
- /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
/trunk/blender:56529-56532,56534,56537-56539,56572,56577,56581,56601,56605-56606
+ /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
/trunk/blender:56529-56532,56534,56537-56539,56572,56577,56581,56601,56605-56606,56620,56639,56643,56647-56648,56650-56651,56653-56654,56661-56663,56668,56670-56674,56676,56678-56680,56682,56688-56689,56698,56700,56707,56711,56735,56745,56747-56749,56755-56756,56759-56760,56763,56766-56767,56773,56778,56783-56785,56790-56791,56793,56800,56806-56807,56809,56815-56816,56820
Modified: tags/blender-2.67a-release/blender/intern/cycles/blender/blender_mesh.cpp
===================================================================
--- tags/blender-2.67a-release/blender/intern/cycles/blender/blender_mesh.cpp 2013-05-16 10:01:37 UTC (rev 56846)
+++ tags/blender-2.67a-release/blender/intern/cycles/blender/blender_mesh.cpp 2013-05-16 10:43:18 UTC (rev 56847)
@@ -100,10 +100,17 @@
{
MikkUserData *userdata = (MikkUserData*)context->m_pUserData;
BL::MeshTessFace f = userdata->mesh.tessfaces[face_num];
- int4 vi = get_int4(f.vertices_raw());
- BL::MeshVertex v = userdata->mesh.vertices[vi[vert_num]];
- float3 vN = get_float3(v.normal());
+ float3 vN;
+ if(f.use_smooth()) {
+ int4 vi = get_int4(f.vertices_raw());
+ BL::MeshVertex v = userdata->mesh.vertices[vi[vert_num]];
+ vN = get_float3(v.normal());
+ }
+ else {
+ vN = get_float3(f.normal());
+ }
+
N[0] = vN.x;
N[1] = vN.y;
N[2] = vN.z;
Modified: tags/blender-2.67a-release/blender/intern/cycles/blender/blender_shader.cpp
===================================================================
--- tags/blender-2.67a-release/blender/intern/cycles/blender/blender_shader.cpp 2013-05-16 10:01:37 UTC (rev 56846)
+++ tags/blender-2.67a-release/blender/intern/cycles/blender/blender_shader.cpp 2013-05-16 10:43:18 UTC (rev 56847)
@@ -193,6 +193,7 @@
RGBRampNode *ramp = new RGBRampNode();
BL::ShaderNodeValToRGB b_ramp_node(b_node);
colorramp_to_array(b_ramp_node.color_ramp(), ramp->ramp, RAMP_TABLE_SIZE);
+ ramp->interpolate = b_ramp_node.color_ramp().interpolation() != BL::ColorRamp::interpolation_CONSTANT;
node = ramp;
}
else if (b_node.is_a(&RNA_ShaderNodeRGB)) {
Modified: tags/blender-2.67a-release/blender/intern/cycles/kernel/osl/osl_services.cpp
===================================================================
--- tags/blender-2.67a-release/blender/intern/cycles/kernel/osl/osl_services.cpp 2013-05-16 10:01:37 UTC (rev 56846)
+++ tags/blender-2.67a-release/blender/intern/cycles/kernel/osl/osl_services.cpp 2013-05-16 10:43:18 UTC (rev 56847)
@@ -76,6 +76,7 @@
ustring OSLRenderServices::u_geom_trianglevertices("geom:trianglevertices");
ustring OSLRenderServices::u_geom_polyvertices("geom:polyvertices");
ustring OSLRenderServices::u_geom_name("geom:name");
+ustring OSLRenderServices::u_is_smooth("geom:is_smooth");
#ifdef __HAIR__
ustring OSLRenderServices::u_is_curve("geom:is_curve");
ustring OSLRenderServices::u_curve_thickness("geom:curve_thickness");
@@ -626,7 +627,10 @@
ustring object_name = kg->osl->object_names[sd->object];
return set_attribute_string(object_name, type, derivatives, val);
}
-
+ else if (name == u_is_smooth) {
+ float f = ((sd->shader & SHADER_SMOOTH_NORMAL) != 0);
+ return set_attribute_float(f, type, derivatives, val);
+ }
#ifdef __HAIR__
/* Hair Attributes */
else if (name == u_is_curve) {
Modified: tags/blender-2.67a-release/blender/intern/cycles/kernel/osl/osl_services.h
===================================================================
--- tags/blender-2.67a-release/blender/intern/cycles/kernel/osl/osl_services.h 2013-05-16 10:01:37 UTC (rev 56846)
+++ tags/blender-2.67a-release/blender/intern/cycles/kernel/osl/osl_services.h 2013-05-16 10:43:18 UTC (rev 56847)
@@ -130,6 +130,7 @@
static ustring u_geom_trianglevertices;
static ustring u_geom_polyvertices;
static ustring u_geom_name;
+ static ustring u_is_smooth;
static ustring u_is_curve;
static ustring u_curve_thickness;
static ustring u_curve_tangent_normal;
Modified: tags/blender-2.67a-release/blender/intern/cycles/kernel/shaders/node_normal_map.osl
===================================================================
--- tags/blender-2.67a-release/blender/intern/cycles/kernel/shaders/node_normal_map.osl 2013-05-16 10:01:37 UTC (rev 56846)
+++ tags/blender-2.67a-release/blender/intern/cycles/kernel/shaders/node_normal_map.osl 2013-05-16 10:43:18 UTC (rev 56847)
@@ -33,15 +33,17 @@
vector tangent;
vector ninterp;
float tangent_sign;
+ float is_smooth;
+ getattribute("geom:is_smooth", is_smooth);
+ if (!is_smooth)
+ ninterp = Ng;
+
// get _unnormalized_ interpolated normal and tangent
- if (!getattribute(attr_name, tangent) ||
- !getattribute(attr_sign_name, tangent_sign) ||
- !getattribute("geom:N", ninterp))
+ if (getattribute(attr_name, tangent) &&
+ getattribute(attr_sign_name, tangent_sign) &&
+ (!is_smooth || getattribute("geom:N", ninterp)))
{
- Normal = normal(0, 0, 0);
- }
- else {
// apply normal map
vector B = tangent_sign * cross(ninterp, tangent);
Normal = normalize(mcolor[0] * tangent + mcolor[1] * B + mcolor[2] * ninterp);
@@ -49,6 +51,9 @@
// transform to world space
Normal = normalize(transform("object", "world", Normal));
}
+ else {
+ Normal = normal(0, 0, 0);
+ }
}
else if (space == "Object")
Normal = normalize(transform("object", "world", vector(mcolor)));
Modified: tags/blender-2.67a-release/blender/intern/cycles/kernel/shaders/node_rgb_ramp.osl
===================================================================
--- tags/blender-2.67a-release/blender/intern/cycles/kernel/shaders/node_rgb_ramp.osl 2013-05-16 10:01:37 UTC (rev 56846)
+++ tags/blender-2.67a-release/blender/intern/cycles/kernel/shaders/node_rgb_ramp.osl 2013-05-16 10:43:18 UTC (rev 56847)
@@ -22,6 +22,7 @@
shader node_rgb_ramp(
color ramp_color[RAMP_TABLE_SIZE] = {0.0},
float ramp_alpha[RAMP_TABLE_SIZE] = {0.0},
+ int ramp_interpolate = 1,
float Fac = 0.0,
output color Color = 0.0,
@@ -38,7 +39,7 @@
Color = ramp_color[i];
Alpha = ramp_alpha[i];
- if (t > 0.0) {
+ if (ramp_interpolate && t > 0.0) {
Color = (1.0 - t) * Color + t * ramp_color[i + 1];
Alpha = (1.0 - t) * Alpha + t * ramp_alpha[i + 1];
}
Modified: tags/blender-2.67a-release/blender/intern/cycles/kernel/svm/svm_ramp.h
===================================================================
--- tags/blender-2.67a-release/blender/intern/cycles/kernel/svm/svm_ramp.h 2013-05-16 10:01:37 UTC (rev 56846)
+++ tags/blender-2.67a-release/blender/intern/cycles/kernel/svm/svm_ramp.h 2013-05-16 10:43:18 UTC (rev 56847)
@@ -21,7 +21,7 @@
CCL_NAMESPACE_BEGIN
-__device float4 rgb_ramp_lookup(KernelGlobals *kg, int offset, float f)
+__device float4 rgb_ramp_lookup(KernelGlobals *kg, int offset, float f, bool interpolate)
{
f = clamp(f, 0.0f, 1.0f)*(RAMP_TABLE_SIZE-1);
@@ -31,7 +31,7 @@
float4 a = fetch_node_float(kg, offset+i);
- if(t > 0.0f)
+ if(interpolate && t > 0.0f)
a = (1.0f - t)*a + t*fetch_node_float(kg, offset+i+1);
return a;
@@ -39,12 +39,13 @@
__device void svm_node_rgb_ramp(KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node, int *offset)
{
- uint fac_offset = node.y;
- uint color_offset = node.z;
- uint alpha_offset = node.w;
+ uint fac_offset, color_offset, alpha_offset;
+ uint interpolate = node.z;
+ decode_node_uchar4(node.y, &fac_offset, &color_offset, &alpha_offset, NULL);
+
float fac = stack_load_float(stack, fac_offset);
- float4 color = rgb_ramp_lookup(kg, *offset, fac);
+ float4 color = rgb_ramp_lookup(kg, *offset, fac, interpolate);
if(stack_valid(color_offset))
stack_store_float3(stack, color_offset, float4_to_float3(color));
@@ -63,9 +64,9 @@
float fac = stack_load_float(stack, fac_offset);
float3 color = stack_load_float3(stack, color_offset);
- float r = rgb_ramp_lookup(kg, *offset, color.x).x;
- float g = rgb_ramp_lookup(kg, *offset, color.y).y;
- float b = rgb_ramp_lookup(kg, *offset, color.z).z;
+ float r = rgb_ramp_lookup(kg, *offset, color.x, true).x;
+ float g = rgb_ramp_lookup(kg, *offset, color.y, true).y;
+ float b = rgb_ramp_lookup(kg, *offset, color.z, true).z;
color = (1.0f - fac)*color + fac*make_float3(r, g, b);
stack_store_float3(stack, out_offset, color);
@@ -82,9 +83,9 @@
float fac = stack_load_float(stack, fac_offset);
float3 color = stack_load_float3(stack, color_offset);
- float r = rgb_ramp_lookup(kg, *offset, (color.x + 1.0f)*0.5f).x;
- float g = rgb_ramp_lookup(kg, *offset, (color.y + 1.0f)*0.5f).y;
- float b = rgb_ramp_lookup(kg, *offset, (color.z + 1.0f)*0.5f).z;
+ float r = rgb_ramp_lookup(kg, *offset, (color.x + 1.0f)*0.5f, true).x;
+ float g = rgb_ramp_lookup(kg, *offset, (color.y + 1.0f)*0.5f, true).y;
+ float b = rgb_ramp_lookup(kg, *offset, (color.z + 1.0f)*0.5f, true).z;
color = (1.0f - fac)*color + fac*make_float3(r*2.0f - 1.0f, g*2.0f - 1.0f, b*2.0f - 1.0f);
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list