Cycles: fix sampling issue with certain (transparent) max bounce settings, and
authorBrecht Van Lommel <brechtvanlommel@pandora.be>
Sun, 16 Oct 2011 17:06:01 +0000 (17:06 +0000)
committerBrecht Van Lommel <brechtvanlommel@pandora.be>
Sun, 16 Oct 2011 17:06:01 +0000 (17:06 +0000)
tweak presets/defaults to use 128 instead of 1024.

intern/cycles/blender/addon/properties.py
intern/cycles/render/integrator.cpp
release/scripts/presets/cycles/integrator/full_global_illumination.py

index 8d3f709cdef9ae334af6e67abed409a7cf8471d4..a47174dd6c6f99c9bccd6fe1cc316965ab35a045 100644 (file)
@@ -55,16 +55,18 @@ class CyclesRenderSettings(bpy.types.PropertyGroup):
             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)
+            default=128, 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)
+            default=128, 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)
+            default=128, 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.use_transparent_shadows = BoolProperty(name="Transparent Shadows", description="Use transparency of surfaces for rendering shadows",
+            default=True)
 
         cls.film_exposure = FloatProperty(name="Exposure", description="Image brightness scale",
             default=1.0, min=0.0, max=10.0)
index 57689be3965694c905c7bef805f0bb363a5b843b..78ea464d836d0fa66ae0a70d5b3a95d132bbced5 100644 (file)
@@ -80,7 +80,7 @@ void Integrator::device_update(Device *device, DeviceScene *dscene)
        kintegrator->blur_caustics = blur_caustics;
 
        /* sobol directions table */
-       int dimensions = PRNG_BASE_NUM + (max_bounce + 2)*PRNG_BOUNCE_NUM;
+       int dimensions = PRNG_BASE_NUM + (max_bounce + transparent_max_bounce + 2)*PRNG_BOUNCE_NUM;
        uint *directions = dscene->sobol_directions.resize(SOBOL_BITS*dimensions);
 
        sobol_generate_direction_vectors((uint(*)[SOBOL_BITS])directions, dimensions);
index 47c4431de1381bad31b1f70697b5161ea9bafae5..8687f169b8a8ab93419aaf115d52bd1b7adaea92 100644 (file)
@@ -1,11 +1,11 @@
 import bpy
 cycles = bpy.context.scene.cycles
 
-cycles.max_bounces = 1024
+cycles.max_bounces = 128
 cycles.min_bounces = 3
 cycles.no_caustics = False
-cycles.diffuse_bounces = 1024
-cycles.glossy_bounces = 1024
-cycles.transmission_bounces = 1024
+cycles.diffuse_bounces = 128
+cycles.glossy_bounces = 128
+cycles.transmission_bounces = 128
 cycles.transparent_min_bounces = 8
-cycles.transparent_max_bounces = 1024
+cycles.transparent_max_bounces = 128