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;
 

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to