[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