[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [56660] trunk/blender/intern/cycles/ blender: Cycles: add Use Surfaces and Use Hair option to render layers, to disable rendering

Brecht Van Lommel brechtvanlommel at pandora.be
Fri May 10 15:34:50 CEST 2013


Revision: 56660
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56660
Author:   blendix
Date:     2013-05-10 13:34:49 +0000 (Fri, 10 May 2013)
Log Message:
-----------
Cycles: add Use Surfaces and Use Hair option to render layers, to disable rendering
of hair and surfaces, similar to blender internal options.

Modified Paths:
--------------
    trunk/blender/intern/cycles/blender/addon/ui.py
    trunk/blender/intern/cycles/blender/blender_mesh.cpp
    trunk/blender/intern/cycles/blender/blender_sync.cpp
    trunk/blender/intern/cycles/blender/blender_sync.h

Modified: trunk/blender/intern/cycles/blender/addon/ui.py
===================================================================
--- trunk/blender/intern/cycles/blender/addon/ui.py	2013-05-10 12:51:30 UTC (rev 56659)
+++ trunk/blender/intern/cycles/blender/addon/ui.py	2013-05-10 13:34:49 UTC (rev 56660)
@@ -300,10 +300,13 @@
         col = split.column()
         col.label(text="Material:")
         col.prop(rl, "material_override", text="")
+        col.separator()
+        col.prop(rl, "samples")
 
         col = split.column()
-        col.prop(rl, "samples")
         col.prop(rl, "use_sky", "Use Environment")
+        col.prop(rl, "use_solid", "Use Surfaces")
+        col.prop(rl, "use_strand", "Use Hair")
 
 
 class CyclesRender_PT_layer_passes(CyclesButtonsPanel, Panel):

Modified: trunk/blender/intern/cycles/blender/blender_mesh.cpp
===================================================================
--- trunk/blender/intern/cycles/blender/blender_mesh.cpp	2013-05-10 12:51:30 UTC (rev 56659)
+++ trunk/blender/intern/cycles/blender/blender_mesh.cpp	2013-05-10 13:34:49 UTC (rev 56660)
@@ -442,31 +442,35 @@
 
 	/* create derived mesh */
 	bool need_undeformed = mesh->need_attribute(scene, ATTR_STD_GENERATED);
-	BL::Mesh b_mesh = object_to_mesh(b_data, b_ob, b_scene, true, !preview, need_undeformed);
 	PointerRNA cmesh = RNA_pointer_get(&b_ob_data.ptr, "cycles");
 
 	vector<Mesh::Triangle> oldtriangle = mesh->triangles;
 	
-	/* compares curve_keys rather than strands in order to handle quick hair adjustsments in dynamic BVH - other methods could probably do this better*/
+	/* compares curve_keys rather than strands in order to handle quick hair
+	 * adjustsments in dynamic BVH - other methods could probably do this better*/
 	vector<Mesh::CurveKey> oldcurve_keys = mesh->curve_keys;
 
 	mesh->clear();
 	mesh->used_shaders = used_shaders;
 	mesh->name = ustring(b_ob_data.name().c_str());
 
-	if(b_mesh) {
-		if(!(hide_tris && experimental)) {
-			if(cmesh.data && experimental && RNA_boolean_get(&cmesh, "use_subdivision"))
-				create_subd_mesh(mesh, b_mesh, &cmesh, used_shaders);
-			else
-				create_mesh(scene, mesh, b_mesh, used_shaders);
-		}
+	if(render_layer.use_surfaces || render_layer.use_hair) {
+		BL::Mesh b_mesh = object_to_mesh(b_data, b_ob, b_scene, true, !preview, need_undeformed);
 
-		if(experimental)
-			sync_curves(mesh, b_mesh, b_ob, object_updated);
+		if(b_mesh) {
+			if(render_layer.use_surfaces && !(hide_tris && experimental)) {
+				if(cmesh.data && experimental && RNA_boolean_get(&cmesh, "use_subdivision"))
+					create_subd_mesh(mesh, b_mesh, &cmesh, used_shaders);
+				else
+					create_mesh(scene, mesh, b_mesh, used_shaders);
+			}
 
-		/* free derived mesh */
-		b_data.meshes.remove(b_mesh);
+			if(render_layer.use_hair && experimental)
+				sync_curves(mesh, b_mesh, b_ob, object_updated);
+
+			/* free derived mesh */
+			b_data.meshes.remove(b_mesh);
+		}
 	}
 
 	/* displacement method */

Modified: trunk/blender/intern/cycles/blender/blender_sync.cpp
===================================================================
--- trunk/blender/intern/cycles/blender/blender_sync.cpp	2013-05-10 12:51:30 UTC (rev 56659)
+++ trunk/blender/intern/cycles/blender/blender_sync.cpp	2013-05-10 13:34:49 UTC (rev 56660)
@@ -242,6 +242,8 @@
 			render_layer.holdout_layer = 0;
 			render_layer.material_override = PointerRNA_NULL;
 			render_layer.use_background = true;
+			render_layer.use_hair = true;
+			render_layer.use_surfaces = true;
 			render_layer.use_viewport_visibility = true;
 			render_layer.samples = 0;
 			render_layer.bound_samples = false;
@@ -270,6 +272,8 @@
 
 			render_layer.material_override = b_rlay->material_override();
 			render_layer.use_background = b_rlay->use_sky();
+			render_layer.use_surfaces = b_rlay->use_solid();
+			render_layer.use_hair = b_rlay->use_strand();
 			render_layer.use_viewport_visibility = false;
 			render_layer.use_localview = false;
 

Modified: trunk/blender/intern/cycles/blender/blender_sync.h
===================================================================
--- trunk/blender/intern/cycles/blender/blender_sync.h	2013-05-10 12:51:30 UTC (rev 56659)
+++ trunk/blender/intern/cycles/blender/blender_sync.h	2013-05-10 13:34:49 UTC (rev 56660)
@@ -124,6 +124,8 @@
 		  holdout_layer(0), exclude_layer(0),
 		  material_override(PointerRNA_NULL),
 		  use_background(true),
+		  use_surfaces(true),
+		  use_hair(true),
 		  use_viewport_visibility(false),
 		  samples(0), bound_samples(false)
 		{}
@@ -135,6 +137,8 @@
 		uint exclude_layer;
 		BL::Material material_override;
 		bool use_background;
+		bool use_surfaces;
+		bool use_hair;
 		bool use_viewport_visibility;
 		bool use_localview;
 		int samples;




More information about the Bf-blender-cvs mailing list