[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [40138] branches/cycles: Cycles Render API :

Thomas Dinges blender at dingto.org
Mon Sep 12 01:44:20 CEST 2011


Revision: 40138
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=40138
Author:   dingto
Date:     2011-09-11 23:44:20 +0000 (Sun, 11 Sep 2011)
Log Message:
-----------
Cycles Render API:
* Show Rendered Viewport Shading only when the engine supports it.
Only enabled for Cycles now.
* Added RenderEngine flag RE_DO_RENDERED, which is an optional flag.
Exposed as bl_use_rendered in Python.

ToDo: When you are in Rendered mode and change to a engine which does not support it, the enum doesn't set properly to OB_SOLID. 

Modified Paths:
--------------
    branches/cycles/intern/cycles/blender/addon/__init__.py
    branches/cycles/source/blender/makesrna/intern/rna_render.c
    branches/cycles/source/blender/makesrna/intern/rna_space.c
    branches/cycles/source/blender/render/extern/include/RE_engine.h

Modified: branches/cycles/intern/cycles/blender/addon/__init__.py
===================================================================
--- branches/cycles/intern/cycles/blender/addon/__init__.py	2011-09-11 22:28:12 UTC (rev 40137)
+++ branches/cycles/intern/cycles/blender/addon/__init__.py	2011-09-11 23:44:20 UTC (rev 40138)
@@ -40,6 +40,7 @@
 class CyclesRender(bpy.types.RenderEngine):
     bl_idname = 'CYCLES'
     bl_label = "Cycles"
+    bl_use_rendered = True
 
     def __init__(self):
         engine.init()

Modified: branches/cycles/source/blender/makesrna/intern/rna_render.c
===================================================================
--- branches/cycles/source/blender/makesrna/intern/rna_render.c	2011-09-11 22:28:12 UTC (rev 40137)
+++ branches/cycles/source/blender/makesrna/intern/rna_render.c	2011-09-11 23:44:20 UTC (rev 40138)
@@ -402,6 +402,10 @@
 	prop= RNA_def_property(srna, "bl_use_postprocess", PROP_BOOLEAN, PROP_NONE);
 	RNA_def_property_boolean_negative_sdna(prop, NULL, "type->flag", RE_DO_ALL);
 	RNA_def_property_flag(prop, PROP_REGISTER_OPTIONAL);
+	
+	prop= RNA_def_property(srna, "bl_use_rendered", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_sdna(prop, NULL, "type->flag", RE_DO_RENDERED);
+	RNA_def_property_flag(prop, PROP_REGISTER_OPTIONAL);
 
 	RNA_define_verify_sdna(1);
 }

Modified: branches/cycles/source/blender/makesrna/intern/rna_space.c
===================================================================
--- branches/cycles/source/blender/makesrna/intern/rna_space.c	2011-09-11 22:28:12 UTC (rev 40137)
+++ branches/cycles/source/blender/makesrna/intern/rna_space.c	2011-09-11 23:44:20 UTC (rev 40138)
@@ -450,6 +450,30 @@
 	ED_view3d_from_m4((float (*)[4])values, rv3d->ofs, rv3d->viewquat, &rv3d->dist);
 }
 
+static EnumPropertyItem *rna_SpaceView3D_viewport_shade_itemf(bContext *UNUSED(C), PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *free)
+{
+	Scene *scene = ((bScreen*)ptr->id.data)->scene;
+	RenderEngineType *type = RE_engines_find(scene->r.engine);
+	
+	EnumPropertyItem *item= NULL;
+	int totitem= 0;
+
+	RNA_enum_items_add_value(&item, &totitem, viewport_shade_items, OB_BOUNDBOX);
+	RNA_enum_items_add_value(&item, &totitem, viewport_shade_items, OB_WIRE);
+	RNA_enum_items_add_value(&item, &totitem, viewport_shade_items, OB_SOLID);
+	RNA_enum_items_add_value(&item, &totitem, viewport_shade_items, OB_TEXTURE);
+	RNA_enum_items_add_value(&item, &totitem, viewport_shade_items, OB_MATERIAL);
+	
+	if(type->flag & RE_DO_RENDERED) {
+		RNA_enum_items_add_value(&item, &totitem, viewport_shade_items, OB_RENDER);
+	}
+
+	RNA_enum_item_end(&item, &totitem);
+	*free= 1;
+
+	return item;
+}
+
 /* Space Image Editor */
 
 static PointerRNA rna_SpaceImageEditor_uvedit_get(PointerRNA *ptr)
@@ -1226,6 +1250,7 @@
 	prop= RNA_def_property(srna, "viewport_shade", PROP_ENUM, PROP_NONE);
 	RNA_def_property_enum_sdna(prop, NULL, "drawtype");
 	RNA_def_property_enum_items(prop, viewport_shade_items);
+	RNA_def_property_enum_funcs(prop, NULL, NULL, "rna_SpaceView3D_viewport_shade_itemf");
 	RNA_def_property_ui_text(prop, "Viewport Shading", "Method to display/shade objects in the 3D View");
 	RNA_def_property_update(prop, NC_SPACE|ND_SPACE_VIEW3D, "rna_SpaceView3D_viewport_shade_update");
 

Modified: branches/cycles/source/blender/render/extern/include/RE_engine.h
===================================================================
--- branches/cycles/source/blender/render/extern/include/RE_engine.h	2011-09-11 22:28:12 UTC (rev 40137)
+++ branches/cycles/source/blender/render/extern/include/RE_engine.h	2011-09-11 23:44:20 UTC (rev 40138)
@@ -52,6 +52,7 @@
 #define RE_GAME				2
 #define RE_DO_PREVIEW		4
 #define RE_DO_ALL			8
+#define RE_DO_RENDERED 		16
 
 extern ListBase R_engines;
 




More information about the Bf-blender-cvs mailing list