[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [39844] branches/cycles: Cycles:

Brecht Van Lommel brechtvanlommel at pandora.be
Thu Sep 1 17:53:36 CEST 2011


Revision: 39844
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=39844
Author:   blendix
Date:     2011-09-01 15:53:36 +0000 (Thu, 01 Sep 2011)
Log Message:
-----------
Cycles:
* Add max diffuse/glossy/transmission bounces
* Add separate min/max for transparent depth
* Updated/added some presets that use these options
* Add ray visibility options for objects, to hide them from
  camera/diffuse/glossy/transmission/shadow rays
* Is singular ray output for light path node

Details here:
http://wiki.blender.org/index.php/Dev:2.5/Source/Render/Cycles/LightPaths

Modified Paths:
--------------
    branches/cycles/intern/cycles/app/cycles_xml.cpp
    branches/cycles/intern/cycles/blender/addon/presets.py
    branches/cycles/intern/cycles/blender/addon/properties.py
    branches/cycles/intern/cycles/blender/addon/ui.py
    branches/cycles/intern/cycles/blender/blender_object.cpp
    branches/cycles/intern/cycles/blender/blender_shader.cpp
    branches/cycles/intern/cycles/blender/blender_sync.cpp
    branches/cycles/intern/cycles/bvh/bvh.cpp
    branches/cycles/intern/cycles/bvh/bvh.h
    branches/cycles/intern/cycles/bvh/bvh_build.cpp
    branches/cycles/intern/cycles/bvh/bvh_node.h
    branches/cycles/intern/cycles/kernel/kernel.cpp
    branches/cycles/intern/cycles/kernel/kernel_bvh.h
    branches/cycles/intern/cycles/kernel/kernel_path.h
    branches/cycles/intern/cycles/kernel/kernel_textures.h
    branches/cycles/intern/cycles/kernel/kernel_types.h
    branches/cycles/intern/cycles/kernel/osl/nodes/node_light_path.osl
    branches/cycles/intern/cycles/kernel/osl/osl_shader.cpp
    branches/cycles/intern/cycles/kernel/svm/bsdf_transparent.h
    branches/cycles/intern/cycles/kernel/svm/svm_light_path.h
    branches/cycles/intern/cycles/kernel/svm/svm_noise.h
    branches/cycles/intern/cycles/kernel/svm/svm_texture.h
    branches/cycles/intern/cycles/kernel/svm/svm_types.h
    branches/cycles/intern/cycles/render/integrator.cpp
    branches/cycles/intern/cycles/render/integrator.h
    branches/cycles/intern/cycles/render/mesh.cpp
    branches/cycles/intern/cycles/render/nodes.cpp
    branches/cycles/intern/cycles/render/object.cpp
    branches/cycles/intern/cycles/render/object.h
    branches/cycles/intern/cycles/render/scene.h
    branches/cycles/release/scripts/presets/cycles/integrator/direct_light.py
    branches/cycles/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glass.c
    branches/cycles/source/blender/nodes/intern/SHD_nodes/SHD_light_path.c

Added Paths:
-----------
    branches/cycles/release/scripts/presets/cycles/integrator/full_global_illumination.py
    branches/cycles/release/scripts/presets/cycles/integrator/limited_global_illumination.py

Modified: branches/cycles/intern/cycles/app/cycles_xml.cpp
===================================================================
--- branches/cycles/intern/cycles/app/cycles_xml.cpp	2011-09-01 15:08:32 UTC (rev 39843)
+++ branches/cycles/intern/cycles/app/cycles_xml.cpp	2011-09-01 15:53:36 UTC (rev 39844)
@@ -255,8 +255,8 @@
 {
 	Integrator *integrator = state.scene->integrator;
 
-	xml_read_int(&integrator->minbounce, node, "min_bounce");
-	xml_read_int(&integrator->maxbounce, node, "max_bounce");
+	xml_read_int(&integrator->min_bounce, node, "min_bounce");
+	xml_read_int(&integrator->max_bounce, node, "max_bounce");
 	xml_read_bool(&integrator->no_caustics, node, "no_caustics");
 	xml_read_float(&integrator->blur_caustics, node, "blur_caustics");
 }

Modified: branches/cycles/intern/cycles/blender/addon/presets.py
===================================================================
--- branches/cycles/intern/cycles/blender/addon/presets.py	2011-09-01 15:08:32 UTC (rev 39843)
+++ branches/cycles/intern/cycles/blender/addon/presets.py	2011-09-01 15:53:36 UTC (rev 39844)
@@ -33,6 +33,11 @@
         "cycles.max_bounces",
         "cycles.min_bounces",
         "cycles.no_caustics",
+        "cycles.diffuse_bounces",
+        "cycles.glossy_bounces",
+        "cycles.transmission_bounces",
+        "cycles.transparent_min_bounces",
+        "cycles.transparent_max_bounces"
     ]
 
     preset_subdir = "cycles/integrator"

Modified: branches/cycles/intern/cycles/blender/addon/properties.py
===================================================================
--- branches/cycles/intern/cycles/blender/addon/properties.py	2011-09-01 15:08:32 UTC (rev 39843)
+++ branches/cycles/intern/cycles/blender/addon/properties.py	2011-09-01 15:53:36 UTC (rev 39844)
@@ -24,7 +24,7 @@
 class CyclesRenderSettings(bpy.types.PropertyGroup):
     @classmethod
     def register(cls):
-        bpy.types.Scene.cycles = PointerProperty(type=cls, name="Cycles Render Settings", description="Cycles Render Settings")
+        bpy.types.Scene.cycles = PointerProperty(type=cls, name="Cycles Render Settings", description="Cycles render settings")
 
         cls.device = EnumProperty(name="Device", description="Device to use for rendering",
             items=enums.devices, default="CPU")
@@ -39,18 +39,31 @@
         cls.preview_pause = BoolProperty(name="Pause Preview", description="Pause all viewport preview renders",
             default=False)
 
-        cls.min_bounces = IntProperty(name="Min Bounces", description="Minimum number of bounces",
-            default=3, min=0, max=1024)
-        cls.max_bounces = IntProperty(name="Max Bounces", description="Maximum number of bounces",
-            default=8, min=0, max=1024)
         cls.no_caustics = BoolProperty(name="No Caustics", description="Leave out caustics, resulting in a darker image with less noise",
             default=False)
         cls.blur_caustics = FloatProperty(name="Blur Caustics", description="Blur caustics to reduce noise",
             default=0.0, min=0.0, max=1.0)
 
-        cls.exposure = FloatProperty(name="Exposure", description="Image brightness scale",
+        cls.min_bounces = IntProperty(name="Min Bounces", description="Minimum number of bounces, setting this lower than the maximum enables probalistic path termination (faster but noisier)",
+            default=3, min=0, max=1024)
+        cls.max_bounces = IntProperty(name="Max Bounces", description="Total maximum number of bounces",
+            default=8, min=0, max=1024)
+
+        cls.diffuse_bounces = IntProperty(name="Diffuse Bounces", description="Maximum number of diffuse reflection bounces, bounded by total maximum",
+            default=1024, min=0, max=1024)
+        cls.glossy_bounces = IntProperty(name="Glossy Bounces", description="Maximum number of glossy reflection bounces, bounded by total maximum",
+            default=1024, min=0, max=1024)
+        cls.transmission_bounces = IntProperty(name="Transmission Bounces", description="Maximum number of transmission bounces, bounded by total maximum",
+            default=1024, min=0, max=1024)
+
+        cls.transparent_min_bounces = IntProperty(name="Transparent Min Bounces", description="Minimum number of transparent bounces, setting this lower than the maximum enables probalistic path termination (faster but noisier)",
+            default=8, min=0, max=1024)
+        cls.transparent_max_bounces = IntProperty(name="Transparent Max Bounces", description="Maximum number of transparent bounces",
+            default=8, min=0, max=1024)
+
+        cls.film_exposure = FloatProperty(name="Exposure", description="Image brightness scale",
             default=1.0, min=0.0, max=10.0)
-        cls.transparent = BoolProperty(name="Transparent", description="World background is transparent",
+        cls.film_transparent = BoolProperty(name="Transparent", description="World background is transparent",
             default=False)
 
         cls.filter_type = EnumProperty(name="Filter Type", description="Pixel filter type",
@@ -81,7 +94,7 @@
 class CyclesCameraSettings(bpy.types.PropertyGroup):
     @classmethod
     def register(cls):
-        bpy.types.Camera.cycles = PointerProperty(type=cls, name="Cycles Camera Settings", description="Cycles Camera Settings")
+        bpy.types.Camera.cycles = PointerProperty(type=cls, name="Cycles Camera Settings", description="Cycles camera settings")
 
         cls.lens_radius = FloatProperty(name="Lens radius", description="Lens radius for depth of field",
             default=0.0, min=0.0, max=10.0)
@@ -93,7 +106,7 @@
 class CyclesMaterialSettings(bpy.types.PropertyGroup):
     @classmethod
     def register(cls):
-        bpy.types.Material.cycles = PointerProperty(type=cls, name="Cycles Material Settings", description="Cycles Material Settings")
+        bpy.types.Material.cycles = PointerProperty(type=cls, name="Cycles Material Settings", description="Cycles material settings")
 
     @classmethod
     def unregister(cls):
@@ -102,18 +115,33 @@
 class CyclesWorldSettings(bpy.types.PropertyGroup):
     @classmethod
     def register(cls):
-        bpy.types.World.cycles = PointerProperty(type=cls, name="Cycles World Settings", description="Cycles World Settings")
+        bpy.types.World.cycles = PointerProperty(type=cls, name="Cycles World Settings", description="Cycles world settings")
 
     @classmethod
     def unregister(cls):
         del bpy.types.World.cycles
 
+class CyclesVisibilitySettings(bpy.types.PropertyGroup):
+    @classmethod
+    def register(cls):
+        bpy.types.Object.cycles_visibility = PointerProperty(type=cls, name="Cycles Visibility Settings", description="Cycles visibility settings")
+
+        cls.camera = BoolProperty(name="Camera", description="Object visibility for camera rays", default=True)
+        cls.diffuse = BoolProperty(name="Diffuse", description="Object visibility for diffuse reflection rays", default=True)
+        cls.glossy = BoolProperty(name="Glossy", description="Object visibility for glossy reflection rays", default=True)
+        cls.transmission = BoolProperty(name="Transmission", description="Object visibility for transmission rays", default=True)
+        cls.shadow = BoolProperty(name="Shadow", description="Object visibility for shadow rays", default=True)
+
+    @classmethod
+    def unregister(cls):
+        del bpy.types.Object.cycles_visibility
+
 class CyclesMeshSettings(bpy.types.PropertyGroup):
     @classmethod
     def register(cls):
-        bpy.types.Mesh.cycles = PointerProperty(type=cls, name="Cycles Mesh Settings", description="Cycles Mesh Settings")
-        bpy.types.Curve.cycles = PointerProperty(type=cls, name="Cycles Mesh Settings", description="Cycles Mesh Settings")
-        bpy.types.MetaBall.cycles = PointerProperty(type=cls, name="Cycles Mesh Settings", description="Cycles Mesh Settings")
+        bpy.types.Mesh.cycles = PointerProperty(type=cls, name="Cycles Mesh Settings", description="Cycles mesh settings")
+        bpy.types.Curve.cycles = PointerProperty(type=cls, name="Cycles Mesh Settings", description="Cycles mesh settings")
+        bpy.types.MetaBall.cycles = PointerProperty(type=cls, name="Cycles Mesh Settings", description="Cycles mesh settings")
 
         cls.displacement_method = EnumProperty(name="Displacement Method", description="Method to use for the displacement",
             items=enums.displacement_methods, default="BUMP")
@@ -124,12 +152,15 @@
     @classmethod
     def unregister(cls):
         del bpy.types.Mesh.cycles
+        del bpy.types.Curve.cycles
+        del bpy.types.MetaBall.cycles
 
 def register():
     bpy.utils.register_class(CyclesRenderSettings)
     bpy.utils.register_class(CyclesCameraSettings)
     bpy.utils.register_class(CyclesMaterialSettings)
     bpy.utils.register_class(CyclesWorldSettings)
+    bpy.utils.register_class(CyclesVisibilitySettings)
     bpy.utils.register_class(CyclesMeshSettings)
     
 def unregister():
@@ -138,4 +169,5 @@
     bpy.utils.unregister_class(CyclesMaterialSettings)
     bpy.utils.unregister_class(CyclesWorldSettings)
     bpy.utils.unregister_class(CyclesMeshSettings)
+    bpy.utils.unregister_class(CyclesVisibilitySettings)
 

Modified: branches/cycles/intern/cycles/blender/addon/ui.py
===================================================================
--- branches/cycles/intern/cycles/blender/addon/ui.py	2011-09-01 15:08:32 UTC (rev 39843)
+++ branches/cycles/intern/cycles/blender/addon/ui.py	2011-09-01 15:53:36 UTC (rev 39844)
@@ -42,6 +42,7 @@
 
 class CyclesRender_PT_integrator(CyclesButtonsPanel, Panel):
     bl_label = "Integrator"
+    bl_options = {'DEFAULT_CLOSED'}
 
     def draw(self, context):
         layout = self.layout
@@ -58,15 +59,29 @@
 
         col = split.column()
         sub = col.column(align=True)
-        sub.prop(cscene, "passes", text="Render Passes")
-        sub.prop(cscene, "preview_passes")
-        col.prop(cscene, "no_caustics")
+        sub.label(text="Passes:")
+        sub.prop(cscene, "passes", text="Render")
+        sub.prop(cscene, "preview_passes", text="Preview")
 
+        sub = col.column(align=True)
+        sub.label("Tranparency:")
+        sub.prop(cscene, "transparent_max_bounces", text="Max")
+        sub.prop(cscene, "transparent_min_bounces", text="Min")
+        sub.prop(cscene, "no_caustics")
+
         col = split.column()
+

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list