[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [29594] branches/render25: Render Branch: simplify option for shadow buffer size.

Brecht Van Lommel brecht at blender.org
Mon Jun 21 18:58:35 CEST 2010


Revision: 29594
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29594
Author:   blendix
Date:     2010-06-21 18:58:35 +0200 (Mon, 21 Jun 2010)

Log Message:
-----------
Render Branch: simplify option for shadow buffer size.

Modified Paths:
--------------
    branches/render25/release/scripts/ui/properties_scene.py
    branches/render25/source/blender/blenkernel/BKE_scene.h
    branches/render25/source/blender/blenkernel/intern/scene.c
    branches/render25/source/blender/blenloader/intern/readfile.c
    branches/render25/source/blender/makesdna/DNA_scene_types.h
    branches/render25/source/blender/makesrna/intern/rna_scene.c
    branches/render25/source/blender/render/intern/source/shadowbuf.c

Modified: branches/render25/release/scripts/ui/properties_scene.py
===================================================================
--- branches/render25/release/scripts/ui/properties_scene.py	2010-06-21 14:16:05 UTC (rev 29593)
+++ branches/render25/release/scripts/ui/properties_scene.py	2010-06-21 16:58:35 UTC (rev 29594)
@@ -212,12 +212,13 @@
         col = split.column()
         col.prop(rd, "simplify_subdivision", text="Subdivision")
         col.prop(rd, "simplify_child_particles", text="Child Particles")
+        col.prop(rd, "simplify_mipmap_levels", text="Mipmap Levels")
 
         if wide_ui:
             col = split.column()
-        col.prop(rd, "simplify_shadow_samples", text="Shadow Samples")
+        col.prop(rd, "simplify_shadow_buffer_size", text="Shadow Buffer Size")
+        col.prop(rd, "simplify_shadow_buffer_samples", text="Shadow Buffer Samples")
         col.prop(rd, "simplify_ao_sss", text="AO and SSS")
-        col.prop(rd, "simplify_mipmap_levels", text="Mipmap Levels")
 
 
 from bpy.props import *

Modified: branches/render25/source/blender/blenkernel/BKE_scene.h
===================================================================
--- branches/render25/source/blender/blenkernel/BKE_scene.h	2010-06-21 14:16:05 UTC (rev 29593)
+++ branches/render25/source/blender/blenkernel/BKE_scene.h	2010-06-21 16:58:35 UTC (rev 29594)
@@ -89,6 +89,7 @@
 int get_render_subsurf_level(struct RenderData *r, int level);
 int get_render_child_particle_number(struct RenderData *r, int num);
 int get_render_shadow_samples(struct RenderData *r, int samples);
+int get_render_shadow_size(struct RenderData *r, int size);
 float get_render_aosss_error(struct RenderData *r, float error);
 
 #endif

Modified: branches/render25/source/blender/blenkernel/intern/scene.c
===================================================================
--- branches/render25/source/blender/blenkernel/intern/scene.c	2010-06-21 14:16:05 UTC (rev 29593)
+++ branches/render25/source/blender/blenkernel/intern/scene.c	2010-06-21 16:58:35 UTC (rev 29594)
@@ -353,6 +353,7 @@
 	sce->r.simplify_subsurf= 6;
 	sce->r.simplify_particles= 1.0f;
 	sce->r.simplify_shadowsamples= 16;
+	sce->r.simplify_shadowsize= 10240;
 	sce->r.simplify_aosss= 1.0f;
 
 	sce->r.cineonblack= 95;
@@ -1007,6 +1008,14 @@
 		return samples;
 }
 
+int get_render_shadow_size(RenderData *r, int size)
+{
+	if((r->mode & R_SIMPLIFY) && size > 0)
+		return MIN2(r->simplify_shadowsize, size);
+	else
+		return size;
+}
+
 float get_render_aosss_error(RenderData *r, float error)
 {
 	if(r->mode & R_SIMPLIFY)

Modified: branches/render25/source/blender/blenloader/intern/readfile.c
===================================================================
--- branches/render25/source/blender/blenloader/intern/readfile.c	2010-06-21 14:16:05 UTC (rev 29593)
+++ branches/render25/source/blender/blenloader/intern/readfile.c	2010-06-21 16:58:35 UTC (rev 29594)
@@ -10977,6 +10977,14 @@
 		}
 	}
 	
+	if (main->versionfile < 252 || (main->versionfile == 252 && main->subversionfile < 10))
+		do_version_shading_sys_250(fd, lib, main);
+	if (main->versionfile < 252 || (main->versionfile == 252 && main->subversionfile < 11))
+		do_version_subdivision_250(fd, lib, main);
+	if (main->versionfile < 252 || (main->versionfile == 252 && main->subversionfile < 12))
+		do_version_image_cache_250(fd, lib, main);
+	if (main->versionfile < 252 || (main->versionfile == 252 && main->subversionfile < 13))
+		do_version_sss_scale_250(fd, lib, main);
 
 	/* put 2.50 compatibility code here until next subversion bump */
 	{
@@ -11048,19 +11056,12 @@
 					break;
 				}
 			}
+
+			if(scene->r.simplify_shadowsize == 0)
+				scene->r.simplify_shadowsize = 10240;
 		}
-
 	}
 
-	if (main->versionfile < 252 || (main->versionfile == 252 && main->subversionfile < 10))
-		do_version_shading_sys_250(fd, lib, main);
-	if (main->versionfile < 252 || (main->versionfile == 252 && main->subversionfile < 11))
-		do_version_subdivision_250(fd, lib, main);
-	if (main->versionfile < 252 || (main->versionfile == 252 && main->subversionfile < 12))
-		do_version_image_cache_250(fd, lib, main);
-	if (main->versionfile < 252 || (main->versionfile == 252 && main->subversionfile < 13))
-		do_version_sss_scale_250(fd, lib, main);
-
 	/* WATCH IT!!!: pointers from libdata have not been converted yet here! */
 	/* WATCH IT 2!: Userdef struct init has to be in editors/interface/resources.c! */
 

Modified: branches/render25/source/blender/makesdna/DNA_scene_types.h
===================================================================
--- branches/render25/source/blender/makesdna/DNA_scene_types.h	2010-06-21 14:16:05 UTC (rev 29593)
+++ branches/render25/source/blender/makesdna/DNA_scene_types.h	2010-06-21 16:58:35 UTC (rev 29594)
@@ -371,8 +371,10 @@
 	short simplify_subsurf;
 	short simplify_shadowsamples;
 	short simplify_miplevels;
+	int simplify_shadowsize;
 	float simplify_particles;
 	float simplify_aosss;
+	float simplify_pad;
 
 	/* cineon */
 	short cineonwhite, cineonblack;

Modified: branches/render25/source/blender/makesrna/intern/rna_scene.c
===================================================================
--- branches/render25/source/blender/makesrna/intern/rna_scene.c	2010-06-21 14:16:05 UTC (rev 29593)
+++ branches/render25/source/blender/makesrna/intern/rna_scene.c	2010-06-21 16:58:35 UTC (rev 29594)
@@ -2807,10 +2807,10 @@
 	RNA_def_property_ui_text(prop, "Simplify Child Particles", "Global child particles percentage");
 	RNA_def_property_update(prop, 0, "rna_Scene_simplify_update");
 
-	prop= RNA_def_property(srna, "simplify_shadow_samples", PROP_INT, PROP_UNSIGNED);
+	prop= RNA_def_property(srna, "simplify_shadow_buffer_samples", PROP_INT, PROP_UNSIGNED);
 	RNA_def_property_int_sdna(prop, NULL, "simplify_shadowsamples");
 	RNA_def_property_ui_range(prop, 1, 16, 1, 0);
-	RNA_def_property_ui_text(prop, "Simplify Shadow Samples", "Global maximum shadow samples");
+	RNA_def_property_ui_text(prop, "Simplify Shadow Buffer Samples", "Global maximum shadow samples");
 	RNA_def_property_update(prop, 0, "rna_Scene_simplify_update");
 
 	prop= RNA_def_property(srna, "simplify_ao_sss", PROP_FLOAT, PROP_FACTOR);
@@ -2824,6 +2824,12 @@
 	RNA_def_property_ui_text(prop, "Simplify Mipmap Levels", "Number of times to halve image resolution for images read from mipmapped texture files");
 	RNA_def_property_update(prop, 0, "rna_Scene_simplify_update");
 
+	prop= RNA_def_property(srna, "simplify_shadow_buffer_size", PROP_INT, PROP_UNSIGNED);
+	RNA_def_property_int_sdna(prop, NULL, "simplify_shadowsize");
+	RNA_def_property_range(prop, 512, 10240);
+	RNA_def_property_ui_text(prop, "Simplify Shadow Buffer Size", "Global shadow buffer size limit");
+	RNA_def_property_update(prop, 0, "rna_Scene_simplify_update");
+
 	/* Scene API */
 	RNA_api_scene_render(srna);
 }

Modified: branches/render25/source/blender/render/intern/source/shadowbuf.c
===================================================================
--- branches/render25/source/blender/render/intern/source/shadowbuf.c	2010-06-21 14:16:05 UTC (rev 29593)
+++ branches/render25/source/blender/render/intern/source/shadowbuf.c	2010-06-21 16:58:35 UTC (rev 29594)
@@ -2775,6 +2775,7 @@
 	
 	/* percentage render: keep track of min and max */
 	shb->size= (lar->bufsize*re->params.r.size)/100;
+	shb->size= get_render_shadow_size(&re->params.r, shb->size);
 	
 	if(shb->size<512) shb->size= 512;
 	else if(shb->size > lar->bufsize) shb->size= lar->bufsize;





More information about the Bf-blender-cvs mailing list