[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [27262] branches/render25: Render Branch: temporary hack option to allow material traceble to be ignored,
Brecht Van Lommel
brecht at blender.org
Thu Mar 4 14:42:09 CET 2010
Revision: 27262
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=27262
Author: blendix
Date: 2010-03-04 14:42:07 +0100 (Thu, 04 Mar 2010)
Log Message:
-----------
Render Branch: temporary hack option to allow material traceble to be ignored,
just for easier testing in durian because we currently have this option
disabled on all but a few materials.
Modified Paths:
--------------
branches/render25/release/scripts/ui/properties_render.py
branches/render25/source/blender/makesdna/DNA_scene_types.h
branches/render25/source/blender/makesrna/intern/rna_scene.c
branches/render25/source/blender/render/intern/include/object_mesh.h
branches/render25/source/blender/render/intern/raytrace/rayobject.cpp
branches/render25/source/blender/render/intern/source/object_mesh.c
branches/render25/source/blender/render/intern/source/rayshade.c
Modified: branches/render25/release/scripts/ui/properties_render.py
===================================================================
--- branches/render25/release/scripts/ui/properties_render.py 2010-03-04 11:17:13 UTC (rev 27261)
+++ branches/render25/release/scripts/ui/properties_render.py 2010-03-04 13:42:07 UTC (rev 27262)
@@ -189,6 +189,7 @@
if wide_ui:
col = split.column()
col.prop(rd, "render_raytracing", text="Ray Tracing")
+ col.prop(rd, "render_raytrace_all")
col.prop(rd, "color_management")
col.prop(rd, "alpha_mode", text="Alpha")
Modified: branches/render25/source/blender/makesdna/DNA_scene_types.h
===================================================================
--- branches/render25/source/blender/makesdna/DNA_scene_types.h 2010-03-04 11:17:13 UTC (rev 27261)
+++ branches/render25/source/blender/makesdna/DNA_scene_types.h 2010-03-04 13:42:07 UTC (rev 27262)
@@ -386,6 +386,8 @@
/* path tracing */
int integrator;
int path_samples;
+ int raytrace_all;
+ int pad;
/* render engine */
char engine[32];
Modified: branches/render25/source/blender/makesrna/intern/rna_scene.c
===================================================================
--- branches/render25/source/blender/makesrna/intern/rna_scene.c 2010-03-04 11:17:13 UTC (rev 27261)
+++ branches/render25/source/blender/makesrna/intern/rna_scene.c 2010-03-04 13:42:07 UTC (rev 27262)
@@ -2182,6 +2182,11 @@
RNA_def_property_boolean_sdna(prop, NULL, "mode", R_RAYTRACE);
RNA_def_property_ui_text(prop, "Render Raytracing", "Pre-calculate the raytrace accelerator and render raytracing effects");
RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
+
+ prop= RNA_def_property(srna, "render_raytrace_all", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "raytrace_all", 0);
+ RNA_def_property_ui_text(prop, "Raytrace All", "Raytrace everything ignoring the traceble material option.");
+ RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
prop= RNA_def_property(srna, "render_textures", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_negative_sdna(prop, NULL, "scemode", R_NO_TEX);
Modified: branches/render25/source/blender/render/intern/include/object_mesh.h
===================================================================
--- branches/render25/source/blender/render/intern/include/object_mesh.h 2010-03-04 11:17:13 UTC (rev 27261)
+++ branches/render25/source/blender/render/intern/include/object_mesh.h 2010-03-04 13:42:07 UTC (rev 27262)
@@ -106,7 +106,7 @@
/* vlakren->flag (vlak = face in dutch) char!!! */
#define R_SMOOTH 1
-#define R_UNUSED_FLAG 2
+#define R_TRACEBLE 2
#define R_STRAND 4 /* strand flag, means special handling */
#define R_NOPUNOFLIP 8
#define R_FULL_OSA 16
Modified: branches/render25/source/blender/render/intern/raytrace/rayobject.cpp
===================================================================
--- branches/render25/source/blender/render/intern/raytrace/rayobject.cpp 2010-03-04 11:17:13 UTC (rev 27261)
+++ branches/render25/source/blender/render/intern/raytrace/rayobject.cpp 2010-03-04 13:42:07 UTC (rev 27262)
@@ -67,7 +67,7 @@
{
/* for baking selected to active non-traceable materials might still
* be in the raytree */
- if(!(vlr->mat->mode & MA_TRACEBLE))
+ if(!(vlr->flag & R_TRACEBLE))
return 0;
/* I know... cpu cycle waste, might do smarter once */
Modified: branches/render25/source/blender/render/intern/source/object_mesh.c
===================================================================
--- branches/render25/source/blender/render/intern/source/object_mesh.c 2010-03-04 11:17:13 UTC (rev 27261)
+++ branches/render25/source/blender/render/intern/source/object_mesh.c 2010-03-04 13:42:07 UTC (rev 27262)
@@ -3477,7 +3477,7 @@
/* per face check if all samples should be taken.
if raytrace or multisample, do always for raytraced material, or when material full_osa set */
-static void set_fullsample_flag(Render *re, ObjectRen *obr)
+static void set_fullsample_trace_flag(Render *re, ObjectRen *obr)
{
VlakRen *vlr;
int a, trace, mode;
@@ -3490,10 +3490,14 @@
for(a=obr->totvlak-1; a>=0; a--) {
vlr= render_object_vlak_get(obr, a);
mode= vlr->mat->mode;
-
+
if(mode & MA_FULL_OSA)
vlr->flag |= R_FULL_OSA;
else if(trace) {
+ /* TODO: remove temporary raytrace_all hack */
+ if(mode & MA_TRACEBLE || re->params.r.raytrace_all)
+ vlr->flag |= R_TRACEBLE;
+
if(mode & MA_SHLESS);
else if(vlr->mat->material_type == MA_TYPE_VOLUME);
else if((mode & MA_RAYMIRROR) || ((mode & MA_TRANSP) && (mode & MA_RAYTRANSP)))
@@ -3695,7 +3699,7 @@
check_non_flat_quads(obr);
}
- set_fullsample_flag(re, obr);
+ set_fullsample_trace_flag(re, obr);
/* compute bounding boxes for clipping */
INIT_MINMAX(min, max);
Modified: branches/render25/source/blender/render/intern/source/rayshade.c
===================================================================
--- branches/render25/source/blender/render/intern/source/rayshade.c 2010-03-04 11:17:13 UTC (rev 27261)
+++ branches/render25/source/blender/render/intern/source/rayshade.c 2010-03-04 13:42:07 UTC (rev 27262)
@@ -249,7 +249,7 @@
static int is_raytraceable_vlr(Render *re, VlakRen *vlr)
{
/* note: volumetric must be tracable, wire must not */
- if((re->params.flag & R_BAKE_TRACE) || (vlr->mat->mode & MA_TRACEBLE) || (vlr->mat->material_type == MA_TYPE_VOLUME))
+ if((re->params.flag & R_BAKE_TRACE) || (vlr->flag & R_TRACEBLE) || (vlr->mat->material_type == MA_TYPE_VOLUME))
if(vlr->mat->material_type != MA_TYPE_WIRE)
return 1;
return 0;
More information about the Bf-blender-cvs
mailing list