[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [26552] trunk/blender: render simplify option to disable triangulation.

Campbell Barton ideasman42 at gmail.com
Tue Feb 2 16:51:44 CET 2010


Revision: 26552
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26552
Author:   campbellbarton
Date:     2010-02-02 16:51:44 +0100 (Tue, 02 Feb 2010)

Log Message:
-----------
render simplify option to disable triangulation.
- triangulating non planer quads is needed to resolve some artifacts however this also ends up triangulating most faces in - Suzzane subsurf level 4 for eg.
this check could be tuned for better performance but for now skipping it is useful for test renders.

Modified Paths:
--------------
    trunk/blender/release/scripts/ui/properties_scene.py
    trunk/blender/source/blender/makesdna/DNA_scene_types.h
    trunk/blender/source/blender/makesrna/intern/rna_scene.c
    trunk/blender/source/blender/render/intern/source/convertblender.c

Modified: trunk/blender/release/scripts/ui/properties_scene.py
===================================================================
--- trunk/blender/release/scripts/ui/properties_scene.py	2010-02-02 15:50:25 UTC (rev 26551)
+++ trunk/blender/release/scripts/ui/properties_scene.py	2010-02-02 15:51:44 UTC (rev 26552)
@@ -208,11 +208,15 @@
         col = split.column()
         col.prop(rd, "simplify_subdivision", text="Subdivision")
         col.prop(rd, "simplify_child_particles", text="Child Particles")
+        
+        col.prop(rd, "simplify_triangulate")
 
         if wide_ui:
             col = split.column()
         col.prop(rd, "simplify_shadow_samples", text="Shadow Samples")
         col.prop(rd, "simplify_ao_sss", text="AO and SSS")
+        
+        
 
 bpy.types.register(SCENE_PT_scene)
 bpy.types.register(SCENE_PT_unit)

Modified: trunk/blender/source/blender/makesdna/DNA_scene_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_scene_types.h	2010-02-02 15:50:25 UTC (rev 26551)
+++ trunk/blender/source/blender/makesdna/DNA_scene_types.h	2010-02-02 15:51:44 UTC (rev 26552)
@@ -359,8 +359,9 @@
 	float bg_stamp[4];
 
 	/* render simplify */
-	int simplify_subsurf;
-	int simplify_shadowsamples;
+	int simplify_flag;
+	short simplify_subsurf;
+	short simplify_shadowsamples;
 	float simplify_particles;
 	float simplify_aosss;
 
@@ -966,6 +967,9 @@
 #define R_BAKE_SPACE_OBJECT	 2
 #define R_BAKE_SPACE_TANGENT 3
 
+/* simplify_flag */
+#define R_SIMPLE_NO_TRIANGULATE		1
+
 /* **************** SCENE ********************* */
 
 /* for general use */

Modified: trunk/blender/source/blender/makesrna/intern/rna_scene.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_scene.c	2010-02-02 15:50:25 UTC (rev 26551)
+++ trunk/blender/source/blender/makesrna/intern/rna_scene.c	2010-02-02 15:51:44 UTC (rev 26552)
@@ -2471,6 +2471,10 @@
 	RNA_def_property_ui_text(prop, "Simplify AO and SSS", "Global approximate AA and SSS quality factor.");
 	RNA_def_property_update(prop, 0, "rna_Scene_simplify_update");
 
+	prop= RNA_def_property(srna, "simplify_triangulate", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_sdna(prop, NULL, "simplify_flag", R_SIMPLE_NO_TRIANGULATE);
+	RNA_def_property_ui_text(prop, "Skip Quad to Triangles", "Disables non-planer quads being triangulated.");
+
 	/* Scene API */
 	RNA_api_scene_render(srna);
 }

Modified: trunk/blender/source/blender/render/intern/source/convertblender.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/convertblender.c	2010-02-02 15:50:25 UTC (rev 26551)
+++ trunk/blender/source/blender/render/intern/source/convertblender.c	2010-02-02 15:51:44 UTC (rev 26552)
@@ -4098,7 +4098,8 @@
 				/* Baking lets us define a quad split order */
 				split_quads(obr, re->r.bake_quad_split);
 			} else {
-				check_non_flat_quads(obr);
+				if((re->r.simplify_flag & R_SIMPLE_NO_TRIANGULATE) == 0)
+					check_non_flat_quads(obr);
 			}
 			
 			set_fullsample_flag(re, obr);





More information about the Bf-blender-cvs mailing list