Also, would be fantastic (and important for TDs!) to document on the
wiki about how settings affect speed for optimization purposes. I'd be
glad to do it but need a bit of a hint to start

Daniel Salazar
3Developer.com



On Wed, Sep 7, 2011 at 10:24 PM, Daniel Salazar - 3Developer.com
<[email protected]> wrote:
> Hi! I'm curious about why is Ray Visibility an ob level set of options
> instead of material or even closure level? or should we use Light
> Paths for that?
>
> cheers
>
> Daniel Salazar
> 3Developer.com
>
>
>
> On Thu, Sep 1, 2011 at 9:53 AM, Brecht Van Lommel
> <[email protected]> wrote:
>> 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. @@
>> _______________________________________________
>> Bf-blender-cvs mailing list
>> [email protected]
>> http://lists.blender.org/mailman/listinfo/bf-blender-cvs
>>
>
_______________________________________________
Bf-committers mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-committers

Reply via email to