[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