Revision: 58896
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=58896
Author:   gdh
Date:     2013-08-04 04:59:09 +0000 (Sun, 04 Aug 2013)
Log Message:
-----------
Merged trunk into branch. Includes r58848 to r58895.

Revision Links:
--------------
    
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=58848
    
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=58895

Modified Paths:
--------------
    branches/soc-2013-cycles_mblur/intern/cycles/blender/addon/ui.py
    branches/soc-2013-cycles_mblur/intern/cycles/blender/blender_session.cpp
    branches/soc-2013-cycles_mblur/intern/cycles/kernel/closure/bsdf.h
    branches/soc-2013-cycles_mblur/intern/cycles/kernel/kernel_accumulate.h
    branches/soc-2013-cycles_mblur/intern/cycles/kernel/kernel_light.h
    branches/soc-2013-cycles_mblur/intern/cycles/kernel/kernel_passes.h
    branches/soc-2013-cycles_mblur/intern/cycles/kernel/kernel_path.h
    branches/soc-2013-cycles_mblur/intern/cycles/kernel/kernel_shader.h
    branches/soc-2013-cycles_mblur/intern/cycles/kernel/kernel_subsurface.h
    branches/soc-2013-cycles_mblur/intern/cycles/kernel/kernel_types.h
    branches/soc-2013-cycles_mblur/intern/cycles/kernel/svm/svm_types.h
    branches/soc-2013-cycles_mblur/intern/cycles/render/film.cpp
    branches/soc-2013-cycles_mblur/intern/guardedalloc/MEM_guardedalloc.h
    branches/soc-2013-cycles_mblur/intern/guardedalloc/intern/mallocn.c
    branches/soc-2013-cycles_mblur/intern/rigidbody/rb_bullet_api.cpp
    
branches/soc-2013-cycles_mblur/release/scripts/startup/bl_ui/properties_physics_dynamicpaint.py
    branches/soc-2013-cycles_mblur/source/blender/blenkernel/BKE_node.h
    
branches/soc-2013-cycles_mblur/source/blender/blenkernel/intern/DerivedMesh.c
    
branches/soc-2013-cycles_mblur/source/blender/blenkernel/intern/dynamicpaint.c
    branches/soc-2013-cycles_mblur/source/blender/blenkernel/intern/fmodifier.c
    branches/soc-2013-cycles_mblur/source/blender/blenkernel/intern/movieclip.c
    
branches/soc-2013-cycles_mblur/source/blender/blenkernel/intern/navmesh_conversion.c
    branches/soc-2013-cycles_mblur/source/blender/blenkernel/intern/object.c
    branches/soc-2013-cycles_mblur/source/blender/blenkernel/intern/pbvh.c
    branches/soc-2013-cycles_mblur/source/blender/blenlib/BLI_utildefines.h
    branches/soc-2013-cycles_mblur/source/blender/blenlib/intern/BLI_heap.c
    branches/soc-2013-cycles_mblur/source/blender/blenlib/intern/BLI_mempool.c
    branches/soc-2013-cycles_mblur/source/blender/blenlib/intern/buffer.c
    branches/soc-2013-cycles_mblur/source/blender/blenloader/intern/readfile.c
    branches/soc-2013-cycles_mblur/source/blender/blenloader/intern/writefile.c
    branches/soc-2013-cycles_mblur/source/blender/bmesh/intern/bmesh_construct.c
    branches/soc-2013-cycles_mblur/source/blender/bmesh/intern/bmesh_core.c
    branches/soc-2013-cycles_mblur/source/blender/bmesh/intern/bmesh_edgeloop.c
    branches/soc-2013-cycles_mblur/source/blender/bmesh/intern/bmesh_operators.c
    branches/soc-2013-cycles_mblur/source/blender/bmesh/intern/bmesh_polygon.c
    branches/soc-2013-cycles_mblur/source/blender/bmesh/intern/bmesh_polygon.h
    branches/soc-2013-cycles_mblur/source/blender/bmesh/intern/bmesh_private.h
    branches/soc-2013-cycles_mblur/source/blender/bmesh/intern/bmesh_queries.c
    branches/soc-2013-cycles_mblur/source/blender/bmesh/intern/bmesh_queries.h
    branches/soc-2013-cycles_mblur/source/blender/bmesh/intern/bmesh_structure.c
    branches/soc-2013-cycles_mblur/source/blender/bmesh/intern/bmesh_structure.h
    branches/soc-2013-cycles_mblur/source/blender/bmesh/intern/bmesh_walkers.c
    branches/soc-2013-cycles_mblur/source/blender/bmesh/operators/bmo_create.c
    branches/soc-2013-cycles_mblur/source/blender/bmesh/operators/bmo_edgenet.c
    
branches/soc-2013-cycles_mblur/source/blender/bmesh/operators/bmo_wireframe.c
    
branches/soc-2013-cycles_mblur/source/blender/bmesh/tools/bmesh_decimate_dissolve.c
    
branches/soc-2013-cycles_mblur/source/blender/compositor/nodes/COM_RenderLayersNode.cpp
    
branches/soc-2013-cycles_mblur/source/blender/editors/interface/interface_layout.c
    branches/soc-2013-cycles_mblur/source/blender/editors/mesh/editface.c
    
branches/soc-2013-cycles_mblur/source/blender/editors/mesh/editmesh_loopcut.c
    branches/soc-2013-cycles_mblur/source/blender/editors/mesh/editmesh_tools.c
    branches/soc-2013-cycles_mblur/source/blender/editors/mesh/editmesh_utils.c
    
branches/soc-2013-cycles_mblur/source/blender/editors/object/object_modifier.c
    
branches/soc-2013-cycles_mblur/source/blender/editors/space_outliner/outliner_draw.c
    
branches/soc-2013-cycles_mblur/source/blender/editors/space_outliner/outliner_edit.c
    
branches/soc-2013-cycles_mblur/source/blender/editors/space_outliner/outliner_intern.h
    
branches/soc-2013-cycles_mblur/source/blender/editors/space_outliner/outliner_select.c
    
branches/soc-2013-cycles_mblur/source/blender/editors/space_outliner/outliner_tools.c
    
branches/soc-2013-cycles_mblur/source/blender/editors/space_outliner/outliner_tree.c
    
branches/soc-2013-cycles_mblur/source/blender/editors/space_outliner/space_outliner.c
    
branches/soc-2013-cycles_mblur/source/blender/editors/space_view3d/drawobject.c
    
branches/soc-2013-cycles_mblur/source/blender/editors/space_view3d/view3d_select.c
    branches/soc-2013-cycles_mblur/source/blender/editors/transform/transform.c
    
branches/soc-2013-cycles_mblur/source/blender/makesdna/DNA_dynamicpaint_types.h
    branches/soc-2013-cycles_mblur/source/blender/makesdna/DNA_outliner_types.h
    branches/soc-2013-cycles_mblur/source/blender/makesdna/DNA_scene_types.h
    branches/soc-2013-cycles_mblur/source/blender/makesdna/DNA_space_types.h
    branches/soc-2013-cycles_mblur/source/blender/makesrna/intern/makesrna.c
    
branches/soc-2013-cycles_mblur/source/blender/makesrna/intern/rna_dynamicpaint.c
    branches/soc-2013-cycles_mblur/source/blender/makesrna/intern/rna_gpencil.c
    branches/soc-2013-cycles_mblur/source/blender/makesrna/intern/rna_render.c
    branches/soc-2013-cycles_mblur/source/blender/makesrna/intern/rna_scene.c
    
branches/soc-2013-cycles_mblur/source/blender/modifiers/intern/MOD_weightvgedit.c
    
branches/soc-2013-cycles_mblur/source/blender/modifiers/intern/MOD_weightvgproximity.c
    
branches/soc-2013-cycles_mblur/source/blender/nodes/composite/nodes/node_composite_image.c
    
branches/soc-2013-cycles_mblur/source/blender/render/intern/source/render_result.c
    
branches/soc-2013-cycles_mblur/source/gameengine/Converter/KX_BlenderSceneConverter.cpp
    branches/soc-2013-cycles_mblur/source/gameengine/Ketsji/KX_MeshProxy.cpp
    branches/soc-2013-cycles_mblur/source/gameengine/Ketsji/KX_NavMeshObject.cpp
    
branches/soc-2013-cycles_mblur/source/gameengine/Ketsji/KX_ObstacleSimulation.cpp
    branches/soc-2013-cycles_mblur/source/gameengine/Ketsji/KX_PolyProxy.h
    
branches/soc-2013-cycles_mblur/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp
    
branches/soc-2013-cycles_mblur/source/gameengine/Rasterizer/RAS_2DFilterManager.h

Property Changed:
----------------
    branches/soc-2013-cycles_mblur/
    branches/soc-2013-cycles_mblur/source/blender/editors/space_outliner/


Property changes on: branches/soc-2013-cycles_mblur
___________________________________________________________________
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
/branches/soc-2013-depsgraph_mt:57516
/branches/soc-2013-dingto:57424,57487,57507,57525,57599,57670,57918-57919,57981,58091,58245,58253,58772,58774-58775
/tags/blender-2.67b-release/blender:57122
/trunk/blender:57388-58847
   + /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
/branches/soc-2013-depsgraph_mt:57516
/branches/soc-2013-dingto:57424,57487,57507,57525,57599,57670,57918-57919,57981,58091,58245,58253,58587,58772,58774-58775,58828,58835
/tags/blender-2.67b-release/blender:57122
/trunk/blender:57388-58895

Modified: branches/soc-2013-cycles_mblur/intern/cycles/blender/addon/ui.py
===================================================================
--- branches/soc-2013-cycles_mblur/intern/cycles/blender/addon/ui.py    
2013-08-04 04:30:14 UTC (rev 58895)
+++ branches/soc-2013-cycles_mblur/intern/cycles/blender/addon/ui.py    
2013-08-04 04:59:09 UTC (rev 58896)
@@ -373,7 +373,13 @@
         row.prop(rl, "use_pass_transmission_direct", text="Direct", 
toggle=True)
         row.prop(rl, "use_pass_transmission_indirect", text="Indirect", 
toggle=True)
         row.prop(rl, "use_pass_transmission_color", text="Color", toggle=True)
-
+        col.label(text="Subsurface:")
+        row = col.row(align=True)
+        row.prop(rl, "use_pass_subsurface_direct", text="Direct", toggle=True)
+        row.prop(rl, "use_pass_subsurface_indirect", text="Indirect", 
toggle=True)
+        row.prop(rl, "use_pass_subsurface_color", text="Color", toggle=True)
+        
+        col.separator()
         col.prop(rl, "use_pass_emit", text="Emission")
         col.prop(rl, "use_pass_environment")
         col.prop(rl, "use_pass_ambient_occlusion")

Modified: 
branches/soc-2013-cycles_mblur/intern/cycles/blender/blender_session.cpp
===================================================================
--- branches/soc-2013-cycles_mblur/intern/cycles/blender/blender_session.cpp    
2013-08-04 04:30:14 UTC (rev 58895)
+++ branches/soc-2013-cycles_mblur/intern/cycles/blender/blender_session.cpp    
2013-08-04 04:59:09 UTC (rev 58896)
@@ -216,6 +216,8 @@
                        return PASS_GLOSSY_DIRECT;
                case BL::RenderPass::type_TRANSMISSION_DIRECT:
                        return PASS_TRANSMISSION_DIRECT;
+               case BL::RenderPass::type_SUBSURFACE_DIRECT:
+                       return PASS_SUBSURFACE_DIRECT;
 
                case BL::RenderPass::type_DIFFUSE_INDIRECT:
                        return PASS_DIFFUSE_INDIRECT;
@@ -223,6 +225,8 @@
                        return PASS_GLOSSY_INDIRECT;
                case BL::RenderPass::type_TRANSMISSION_INDIRECT:
                        return PASS_TRANSMISSION_INDIRECT;
+               case BL::RenderPass::type_SUBSURFACE_INDIRECT:
+                       return PASS_SUBSURFACE_INDIRECT;
 
                case BL::RenderPass::type_DIFFUSE_COLOR:
                        return PASS_DIFFUSE_COLOR;
@@ -230,6 +234,8 @@
                        return PASS_GLOSSY_COLOR;
                case BL::RenderPass::type_TRANSMISSION_COLOR:
                        return PASS_TRANSMISSION_COLOR;
+               case BL::RenderPass::type_SUBSURFACE_COLOR:
+                       return PASS_SUBSURFACE_COLOR;
 
                case BL::RenderPass::type_EMIT:
                        return PASS_EMISSION;

Modified: branches/soc-2013-cycles_mblur/intern/cycles/kernel/closure/bsdf.h
===================================================================
--- branches/soc-2013-cycles_mblur/intern/cycles/kernel/closure/bsdf.h  
2013-08-04 04:30:14 UTC (rev 58895)
+++ branches/soc-2013-cycles_mblur/intern/cycles/kernel/closure/bsdf.h  
2013-08-04 04:59:09 UTC (rev 58896)
@@ -45,6 +45,7 @@
 
        switch(sc->type) {
                case CLOSURE_BSDF_DIFFUSE_ID:
+               case CLOSURE_BSDF_BSSRDF_ID:
                        label = bsdf_diffuse_sample(sc, sd->Ng, sd->I, 
sd->dI.dx, sd->dI.dy, randu, randv,
                                eval, omega_in, &domega_in->dx, &domega_in->dy, 
pdf);
                        break;
@@ -134,6 +135,7 @@
        if(dot(sd->Ng, omega_in) >= 0.0f) {
                switch(sc->type) {
                        case CLOSURE_BSDF_DIFFUSE_ID:
+                       case CLOSURE_BSDF_BSSRDF_ID:
                                eval = bsdf_diffuse_eval_reflect(sc, sd->I, 
omega_in, pdf);
                                break;
 #ifdef __SVM__
@@ -195,6 +197,7 @@
        else {
                switch(sc->type) {
                        case CLOSURE_BSDF_DIFFUSE_ID:
+                       case CLOSURE_BSDF_BSSRDF_ID:
                                eval = bsdf_diffuse_eval_transmit(sc, sd->I, 
omega_in, pdf);
                                break;
 #ifdef __SVM__
@@ -262,6 +265,7 @@
 
        switch(sc->type) {
                case CLOSURE_BSDF_DIFFUSE_ID:
+               case CLOSURE_BSDF_BSSRDF_ID:
                        bsdf_diffuse_blur(sc, roughness);
                        break;
 #ifdef __SVM__

Modified: 
branches/soc-2013-cycles_mblur/intern/cycles/kernel/kernel_accumulate.h
===================================================================
--- branches/soc-2013-cycles_mblur/intern/cycles/kernel/kernel_accumulate.h     
2013-08-04 04:30:14 UTC (rev 58895)
+++ branches/soc-2013-cycles_mblur/intern/cycles/kernel/kernel_accumulate.h     
2013-08-04 04:59:09 UTC (rev 58896)
@@ -33,6 +33,7 @@
                eval->glossy = make_float3(0.0f, 0.0f, 0.0f);
                eval->transmission = make_float3(0.0f, 0.0f, 0.0f);
                eval->transparent = make_float3(0.0f, 0.0f, 0.0f);
+               eval->subsurface = make_float3(0.0f, 0.0f, 0.0f);
 
                if(type == CLOSURE_BSDF_TRANSPARENT_ID)
                        eval->transparent = value;
@@ -40,8 +41,10 @@
                        eval->diffuse = value;
                else if(CLOSURE_IS_BSDF_GLOSSY(type))
                        eval->glossy = value;
-               else
+               else if(CLOSURE_IS_BSDF_TRANSMISSION(type))
                        eval->transmission = value;
+               else if(CLOSURE_IS_BSDF_BSSRDF(type))
+                       eval->subsurface = value;
        }
        else
                eval->diffuse = value;
@@ -58,8 +61,10 @@
                        eval->diffuse += value;
                else if(CLOSURE_IS_BSDF_GLOSSY(type))
                        eval->glossy += value;
-               else
+               else if(CLOSURE_IS_BSDF_TRANSMISSION(type))
                        eval->transmission += value;
+               else if(CLOSURE_IS_BSDF_BSSRDF(type))
+                       eval->subsurface += value;
 
                /* skipping transparent, this function is used by for eval(), 
will be zero then */
        }
@@ -77,7 +82,8 @@
                return is_zero(eval->diffuse)
                        && is_zero(eval->glossy)
                        && is_zero(eval->transmission)
-                       && is_zero(eval->transparent);
+                       && is_zero(eval->transparent)
+                       && is_zero(eval->subsurface);
        }
        else
                return is_zero(eval->diffuse);
@@ -93,6 +99,7 @@
                eval->diffuse *= value;
                eval->glossy *= value;
                eval->transmission *= value;
+               eval->subsurface *= value;
 
                /* skipping transparent, this function is used by for eval(), 
will be zero then */
        }
@@ -124,18 +131,22 @@
                L->color_diffuse = make_float3(0.0f, 0.0f, 0.0f);
                L->color_glossy = make_float3(0.0f, 0.0f, 0.0f);
                L->color_transmission = make_float3(0.0f, 0.0f, 0.0f);
+               L->color_subsurface = make_float3(0.0f, 0.0f, 0.0f);
 
                L->direct_diffuse = make_float3(0.0f, 0.0f, 0.0f);
                L->direct_glossy = make_float3(0.0f, 0.0f, 0.0f);
                L->direct_transmission = make_float3(0.0f, 0.0f, 0.0f);
+               L->direct_subsurface = make_float3(0.0f, 0.0f, 0.0f);
 
                L->indirect_diffuse = make_float3(0.0f, 0.0f, 0.0f);
                L->indirect_glossy = make_float3(0.0f, 0.0f, 0.0f);
                L->indirect_transmission = make_float3(0.0f, 0.0f, 0.0f);
+               L->indirect_subsurface = make_float3(0.0f, 0.0f, 0.0f);
 
                L->path_diffuse = make_float3(0.0f, 0.0f, 0.0f);
                L->path_glossy = make_float3(0.0f, 0.0f, 0.0f);
                L->path_transmission = make_float3(0.0f, 0.0f, 0.0f);
+               L->path_subsurface = make_float3(0.0f, 0.0f, 0.0f);
 
                L->emission = make_float3(0.0f, 0.0f, 0.0f);
                L->background = make_float3(0.0f, 0.0f, 0.0f);
@@ -164,14 +175,15 @@
                        L->path_diffuse = bsdf_eval->diffuse*value;
                        L->path_glossy = bsdf_eval->glossy*value;
                        L->path_transmission = bsdf_eval->transmission*value;
+                       L->path_subsurface = bsdf_eval->subsurface*value;
 
-                       *throughput = L->path_diffuse + L->path_glossy + 
L->path_transmission;
+                       *throughput = L->path_diffuse + L->path_glossy + 
L->path_transmission + L->path_subsurface;
                        
                        L->direct_throughput = *throughput;
                }
                else {
                        /* transparent bounce before first hit, or indirectly 
visible through BSDF */
-                       float3 sum = (bsdf_eval->diffuse + bsdf_eval->glossy + 
bsdf_eval->transmission + bsdf_eval->transparent)*inverse_pdf;
+                       float3 sum = (bsdf_eval->diffuse + bsdf_eval->glossy + 
bsdf_eval->transmission + bsdf_eval->transparent + 
bsdf_eval->subsurface)*inverse_pdf;
                        *throughput *= sum;
                }
        }
@@ -230,6 +242,7 @@
                        L->direct_diffuse += 
throughput*bsdf_eval->diffuse*shadow;
                        L->direct_glossy += throughput*bsdf_eval->glossy*shadow;
                        L->direct_transmission += 
throughput*bsdf_eval->transmission*shadow;
+                       L->direct_subsurface += 
throughput*bsdf_eval->subsurface*shadow;
 
                        if(is_lamp) {
                                L->shadow.x += shadow.x*shadow_fac;
@@ -239,7 +252,7 @@
                }
                else {
                        /* indirectly visible lighting after BSDF bounce */
-                       float3 sum = bsdf_eval->diffuse + bsdf_eval->glossy + 
bsdf_eval->transmission;
+                       float3 sum = bsdf_eval->diffuse + bsdf_eval->glossy + 
bsdf_eval->transmission + bsdf_eval->subsurface;
                        L->indirect += throughput*sum*shadow;
                }
        }
@@ -273,17 +286,19 @@
 #ifdef __PASSES__
        /* this division is a bit ugly, but means we only have to keep track of
         * only a single throughput further along the path, here we recover just
-        * the indirect parth that is not influenced by any particular BSDF 
type */
+        * the indirect path that is not influenced by any particular BSDF type 
*/
        if(L->use_light_pass) {

@@ Diff output truncated at 10240 characters. @@
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to