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

Daniel Salazar - 3Developer.com zanqdo at gmail.com
Thu Sep 8 06:28:15 CEST 2011


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
<zanqdo at gmail.com> 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
> <brechtvanlommel at pandora.be> 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
>> Bf-blender-cvs at blender.org
>> http://lists.blender.org/mailman/listinfo/bf-blender-cvs
>>
>


More information about the Bf-committers mailing list