Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2011-10-11 21:19:55 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2011-10-11 21:19:55 +0400
commit85818c8209bc6df4f60c7e86173521f5fa1a5a96 (patch)
tree4d9ac62d60e07ca1365ce932140519cea28d2adc
parent4f33d65ba1f02f2cd3f340d0123900ea1beffd2c (diff)
Cycles: add python render engine option to use new shading nodes or not, instead
of hardcoded check for cycles. Also some other minor code cleaning tweaks.
-rw-r--r--CMakeLists.txt6
-rw-r--r--intern/CMakeLists.txt5
-rw-r--r--intern/cycles/blender/addon/__init__.py1
-rw-r--r--release/scripts/startup/bl_ui/properties_particle.py15
-rw-r--r--release/scripts/startup/bl_ui/properties_texture.py1
-rw-r--r--release/scripts/startup/bl_ui/space_node.py6
-rw-r--r--release/scripts/startup/bl_ui/space_view3d.py8
-rw-r--r--source/blender/blenkernel/BKE_scene.h2
-rw-r--r--source/blender/blenkernel/intern/scene.c7
-rw-r--r--source/blender/editors/sculpt_paint/paint_image.c4
-rw-r--r--source/blender/editors/space_image/space_image.c2
-rw-r--r--source/blender/editors/space_node/node_header.c2
-rw-r--r--source/blender/editors/space_view3d/drawmesh.c2
-rw-r--r--source/blender/editors/space_view3d/drawobject.c8
-rw-r--r--source/blender/editors/space_view3d/view3d_draw.c3
-rw-r--r--source/blender/editors/uvedit/uvedit_ops.c2
-rw-r--r--source/blender/makesdna/DNA_image_types.h1
-rw-r--r--source/blender/makesdna/DNA_node_types.h2
-rw-r--r--source/blender/makesdna/DNA_view3d_types.h2
-rw-r--r--source/blender/makesrna/intern/rna_access.c2
-rw-r--r--source/blender/makesrna/intern/rna_render.c8
-rw-r--r--source/blender/makesrna/intern/rna_scene.c11
-rw-r--r--source/blender/makesrna/intern/rna_space.c5
-rw-r--r--source/blender/render/extern/include/RE_engine.h9
-rw-r--r--source/blender/render/intern/pipeline/engine.c6
25 files changed, 71 insertions, 49 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 09acb9e77c9..6bada40cd03 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1462,12 +1462,6 @@ add_subdirectory(source)
add_subdirectory(intern)
add_subdirectory(extern)
-#-----------------------------------------------------------------------------
-# Cycles
-
-if(WITH_CYCLES)
- add_subdirectory(intern/cycles)
-endif()
#-----------------------------------------------------------------------------
# Blender Application
diff --git a/intern/CMakeLists.txt b/intern/CMakeLists.txt
index fe30d6cfa0c..b38b6e11fd7 100644
--- a/intern/CMakeLists.txt
+++ b/intern/CMakeLists.txt
@@ -58,3 +58,8 @@ endif()
if(WITH_IK_ITASC)
add_subdirectory(itasc)
endif()
+
+if(WITH_CYCLES)
+ add_subdirectory(cycles)
+endif()
+
diff --git a/intern/cycles/blender/addon/__init__.py b/intern/cycles/blender/addon/__init__.py
index 3ff1a8f3d41..4a5b78300bf 100644
--- a/intern/cycles/blender/addon/__init__.py
+++ b/intern/cycles/blender/addon/__init__.py
@@ -40,6 +40,7 @@ from cycles import presets
class CyclesRender(bpy.types.RenderEngine):
bl_idname = 'CYCLES'
bl_label = "Cycles"
+ bl_use_shading_nodes = True
def __init__(self):
engine.init()
diff --git a/release/scripts/startup/bl_ui/properties_particle.py b/release/scripts/startup/bl_ui/properties_particle.py
index da4cb05ee8c..7f97239aa68 100644
--- a/release/scripts/startup/bl_ui/properties_particle.py
+++ b/release/scripts/startup/bl_ui/properties_particle.py
@@ -41,7 +41,6 @@ def particle_panel_enabled(context, psys):
def particle_panel_poll(cls, context):
psys = context.particle_system
- engine = context.scene.render.engine
settings = 0
if psys:
@@ -79,7 +78,6 @@ class PARTICLE_PT_context_particles(ParticleButtonsPanel, Panel):
@classmethod
def poll(cls, context):
- engine = context.scene.render.engine
return (context.particle_system or context.object or context.space_data.pin_id)
def draw(self, context):
@@ -251,7 +249,6 @@ class PARTICLE_PT_hair_dynamics(ParticleButtonsPanel, Panel):
@classmethod
def poll(cls, context):
psys = context.particle_system
- engine = context.scene.render.engine
if psys is None:
return False
if psys.settings is None:
@@ -647,7 +644,6 @@ class PARTICLE_PT_boidbrain(ParticleButtonsPanel, Panel):
def poll(cls, context):
psys = context.particle_system
settings = particle_get_settings(context)
- engine = context.scene.render.engine
if settings is None:
return False
@@ -746,11 +742,7 @@ class PARTICLE_PT_render(ParticleButtonsPanel, Panel):
@classmethod
def poll(cls, context):
settings = particle_get_settings(context)
- engine = context.scene.render.engine
- if settings is None:
- return False
-
- return True
+ return settings is not None
def draw(self, context):
layout = self.layout
@@ -931,10 +923,7 @@ class PARTICLE_PT_draw(ParticleButtonsPanel, Panel):
@classmethod
def poll(cls, context):
settings = particle_get_settings(context)
- engine = context.scene.render.engine
- if settings is None:
- return False
- return True
+ return settings is not None
def draw(self, context):
layout = self.layout
diff --git a/release/scripts/startup/bl_ui/properties_texture.py b/release/scripts/startup/bl_ui/properties_texture.py
index 38697c569da..34f5a948ee7 100644
--- a/release/scripts/startup/bl_ui/properties_texture.py
+++ b/release/scripts/startup/bl_ui/properties_texture.py
@@ -410,7 +410,6 @@ class TEXTURE_PT_image_sampling(TextureTypePanel, Panel):
#Only for Material based textures, not for Lamp/World...
if slot and isinstance(idblock, bpy.types.Material):
- slot = context.texture_slot
col.prop(tex, "use_normal_map")
row = col.row()
row.active = tex.use_normal_map
diff --git a/release/scripts/startup/bl_ui/space_node.py b/release/scripts/startup/bl_ui/space_node.py
index d46ca25c57d..69766b54e97 100644
--- a/release/scripts/startup/bl_ui/space_node.py
+++ b/release/scripts/startup/bl_ui/space_node.py
@@ -27,6 +27,7 @@ class NODE_HT_header(Header):
def draw(self, context):
layout = self.layout
+ scene = context.scene
snode = context.space_data
snode_id = snode.id
id_from = snode.id_from
@@ -43,9 +44,10 @@ class NODE_HT_header(Header):
layout.prop(snode, "tree_type", text="", expand=True)
if snode.tree_type == 'SHADER':
- row.prop(snode, "shader_type", text="", expand=True)
+ if scene.render.use_shading_nodes:
+ layout.prop(snode, "shader_type", text="", expand=True)
- if snode.shader_type == 'OBJECT':
+ if not scene.render.use_shading_nodes or snode.shader_type == 'OBJECT':
if id_from:
layout.template_ID(id_from, "active_material", new="material.new")
if snode_id:
diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py
index c35b765c795..e2fe8c9fb82 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -2142,9 +2142,11 @@ class VIEW3D_PT_view3d_display(Panel):
subsub.active = scene.unit_settings.system == 'NONE'
subsub.prop(view, "grid_subdivisions", text="Subdivisions")
- col = layout.column()
- col.label(text="Shading:")
- col.prop(gs, "material_mode", text="")
+ if not scene.render.use_shading_nodes:
+ col = layout.column()
+ col.label(text="Shading:")
+ col.prop(gs, "material_mode", text="")
+ col.prop(view, "show_textured_solid")
layout.separator()
diff --git a/source/blender/blenkernel/BKE_scene.h b/source/blender/blenkernel/BKE_scene.h
index 8f85f14306f..1b12f2dd4be 100644
--- a/source/blender/blenkernel/BKE_scene.h
+++ b/source/blender/blenkernel/BKE_scene.h
@@ -102,7 +102,7 @@ int get_render_child_particle_number(struct RenderData *r, int num);
int get_render_shadow_samples(struct RenderData *r, int samples);
float get_render_aosss_error(struct RenderData *r, float error);
-int scene_use_new_shading_system(struct Scene *scene);
+int scene_use_new_shading_nodes(struct Scene *scene);
#ifdef __cplusplus
}
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c
index 7dc5a222814..101a10903c8 100644
--- a/source/blender/blenkernel/intern/scene.c
+++ b/source/blender/blenkernel/intern/scene.c
@@ -74,6 +74,8 @@
#include "BKE_sound.h"
+#include "RE_engine.h"
+
//XXX #include "BIF_previewrender.h"
//XXX #include "BIF_editseq.h"
@@ -1137,8 +1139,9 @@ Base *_setlooper_base_step(Scene **sce_iter, Base *base)
return NULL;
}
-int scene_use_new_shading_system(Scene *scene)
+int scene_use_new_shading_nodes(Scene *scene)
{
- return (strcmp(scene->r.engine, "CYCLES") == 0);
+ RenderEngineType *type= RE_engines_find(scene->r.engine);
+ return (type->flag & RE_USE_SHADING_NODES);
}
diff --git a/source/blender/editors/sculpt_paint/paint_image.c b/source/blender/editors/sculpt_paint/paint_image.c
index c0ced572515..9e12aa64065 100644
--- a/source/blender/editors/sculpt_paint/paint_image.c
+++ b/source/blender/editors/sculpt_paint/paint_image.c
@@ -487,7 +487,7 @@ static Image *imapaint_face_image(const ImagePaintState *s, int face_index)
{
Image *ima;
- if(scene_use_new_shading_system(s->scene)) {
+ if(scene_use_new_shading_nodes(s->scene)) {
MFace *mf = s->me->mface+face_index;
ED_object_get_active_image(s->ob, mf->mat_nr, &ima, NULL);
}
@@ -503,7 +503,7 @@ static Image *project_paint_face_image(const ProjPaintState *ps, int face_index)
{
Image *ima;
- if(scene_use_new_shading_system(ps->scene)) {
+ if(scene_use_new_shading_nodes(ps->scene)) {
MFace *mf = ps->dm_mface+face_index;
ED_object_get_active_image(ps->ob, mf->mat_nr, &ima, NULL);
}
diff --git a/source/blender/editors/space_image/space_image.c b/source/blender/editors/space_image/space_image.c
index f0709e056ec..b02b8fd856c 100644
--- a/source/blender/editors/space_image/space_image.c
+++ b/source/blender/editors/space_image/space_image.c
@@ -594,7 +594,7 @@ static void image_refresh(const bContext *C, ScrArea *UNUSED(sa))
EditMesh *em= BKE_mesh_get_editmesh(me);
int sloppy= 1; /* partially selected face is ok */
- if(scene_use_new_shading_system(scene)) {
+ if(scene_use_new_shading_nodes(scene)) {
/* new shading system, get image from material */
EditFace *efa= EM_get_actFace(em, sloppy);
diff --git a/source/blender/editors/space_node/node_header.c b/source/blender/editors/space_node/node_header.c
index 084570d905d..d5d7929faa3 100644
--- a/source/blender/editors/space_node/node_header.c
+++ b/source/blender/editors/space_node/node_header.c
@@ -232,7 +232,7 @@ static void node_menu_add(const bContext *C, Menu *menu)
if(snode->treetype==NTREE_SHADER) {
uiItemMenuF(layout, IFACE_(N_("Input")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_INPUT));
uiItemMenuF(layout, IFACE_(N_("Output")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OUTPUT));
- if(scene_use_new_shading_system(scene)) {
+ if(scene_use_new_shading_nodes(scene)) {
uiItemMenuF(layout, IFACE_(N_("Shader")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_SHADER));
uiItemMenuF(layout, IFACE_(N_("Texture")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_TEXTURE));
}
diff --git a/source/blender/editors/space_view3d/drawmesh.c b/source/blender/editors/space_view3d/drawmesh.c
index b749538b742..6cad8f3487a 100644
--- a/source/blender/editors/space_view3d/drawmesh.c
+++ b/source/blender/editors/space_view3d/drawmesh.c
@@ -775,7 +775,7 @@ static int tex_mat_set_face_editmesh_cb(void *UNUSED(userData), int index)
void draw_mesh_textured(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object *ob, DerivedMesh *dm, int faceselect)
{
- if(!scene_use_new_shading_system(scene)) {
+ if(!scene_use_new_shading_nodes(scene)) {
draw_mesh_textured_old(scene, v3d, rv3d, ob, dm, faceselect);
return;
}
diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c
index 09ddfd7dc2c..5521460ac14 100644
--- a/source/blender/editors/space_view3d/drawobject.c
+++ b/source/blender/editors/space_view3d/drawobject.c
@@ -107,7 +107,8 @@
/* this condition has been made more complex since editmode can draw textures */
#define CHECK_OB_DRAWTEXTURE(vd, dt) \
- ((ELEM(vd->drawtype, OB_TEXTURE, OB_MATERIAL) && dt>OB_SOLID))
+ ((ELEM(vd->drawtype, OB_TEXTURE, OB_MATERIAL) && dt>OB_SOLID) || \
+ (vd->drawtype==OB_SOLID && vd->flag2 & V3D_SOLID_TEX))
static void draw_bounding_volume(Scene *scene, Object *ob);
@@ -131,6 +132,9 @@ static int check_ob_drawface_dot(Scene *sce, View3D *vd, char dt)
if(dt==OB_TEXTURE && vd->drawtype==OB_TEXTURE)
return 0;
+ if(vd->drawtype>=OB_SOLID && vd->flag2 & V3D_SOLID_TEX)
+ return 0;
+
return 1;
}
@@ -213,7 +217,7 @@ int draw_glsl_material(Scene *scene, Object *ob, View3D *v3d, int dt)
return 0;
if(ob==OBACT && (ob && ob->mode & OB_MODE_WEIGHT_PAINT))
return 0;
- if(scene_use_new_shading_system(scene))
+ if(scene_use_new_shading_nodes(scene))
return 0;
return (scene->gm.matmode == GAME_MAT_GLSL) && (dt > OB_SOLID);
diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c
index e4346101b78..dba594acf71 100644
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.c
@@ -2122,6 +2122,7 @@ static void gpu_update_lamps_shadows(Scene *scene, View3D *v3d)
v3d->drawtype = OB_SOLID;
v3d->lay &= GPU_lamp_shadow_layer(shadow->lamp);
+ v3d->flag2 &= ~V3D_SOLID_TEX;
v3d->flag2 |= V3D_RENDER_OVERRIDE | V3D_RENDER_SHADOW;
GPU_lamp_shadow_buffer_bind(shadow->lamp, viewmat, &winsize, winmat);
@@ -2152,7 +2153,7 @@ CustomDataMask ED_view3d_datamask(Scene *scene, View3D *v3d)
{
CustomDataMask mask= 0;
- if(ELEM(v3d->drawtype, OB_TEXTURE, OB_MATERIAL)) {
+ if(ELEM(v3d->drawtype, OB_TEXTURE, OB_MATERIAL) || ((v3d->drawtype == OB_SOLID) && (v3d->flag2 & V3D_SOLID_TEX))) {
mask |= CD_MASK_MTFACE | CD_MASK_MCOL;
if(v3d->drawtype == OB_MATERIAL || scene->gm.matmode == GAME_MAT_GLSL)
diff --git a/source/blender/editors/uvedit/uvedit_ops.c b/source/blender/editors/uvedit/uvedit_ops.c
index e80b63b4eea..568445b3112 100644
--- a/source/blender/editors/uvedit/uvedit_ops.c
+++ b/source/blender/editors/uvedit/uvedit_ops.c
@@ -154,7 +154,7 @@ void ED_uvedit_assign_image(Main *bmain, Scene *scene, Object *obedit, Image *im
return;
}
- if(scene_use_new_shading_system(scene)) {
+ if(scene_use_new_shading_nodes(scene)) {
/* new shading system, assign image in material */
int sloppy= 1;
EditFace *efa= EM_get_actFace(em, sloppy);
diff --git a/source/blender/makesdna/DNA_image_types.h b/source/blender/makesdna/DNA_image_types.h
index e090abe39bb..dd033339ca4 100644
--- a/source/blender/makesdna/DNA_image_types.h
+++ b/source/blender/makesdna/DNA_image_types.h
@@ -42,6 +42,7 @@ struct ImBuf;
struct RenderResult;
struct GPUTexture;
+
/* ImageUser is in Texture, in Nodes, Background Image, Image Window, .... */
/* should be used in conjunction with an ID * to Image. */
typedef struct ImageUser {
diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h
index 3477be4234f..6d1ff8dae59 100644
--- a/source/blender/makesdna/DNA_node_types.h
+++ b/source/blender/makesdna/DNA_node_types.h
@@ -104,7 +104,7 @@ typedef struct bNodeSocket {
#define SOCK_FLOAT 0
#define SOCK_VECTOR 1
#define SOCK_RGBA 2
-#define SOCK_SHADER 3
+#define SOCK_SHADER 3
#define SOCK_BOOLEAN 4
#define SOCK_MESH 5
#define SOCK_INT 6
diff --git a/source/blender/makesdna/DNA_view3d_types.h b/source/blender/makesdna/DNA_view3d_types.h
index 6d4a845c5b0..2b7f54e0497 100644
--- a/source/blender/makesdna/DNA_view3d_types.h
+++ b/source/blender/makesdna/DNA_view3d_types.h
@@ -246,7 +246,7 @@ typedef struct View3D {
/* View3d->flag2 (short) */
#define V3D_RENDER_OVERRIDE 4
-#define V3D_SOLID_TEX 8 /* deprecated */
+#define V3D_SOLID_TEX 8
#define V3D_DISPGP 16
#define V3D_LOCK_CAMERA 32
#define V3D_RENDER_SHADOW 64 /* This is a runtime only flag that's used to tell draw_mesh_object() that we're doing a shadow pass instead of a regular draw */
diff --git a/source/blender/makesrna/intern/rna_access.c b/source/blender/makesrna/intern/rna_access.c
index e64c5fd670d..8047b2df226 100644
--- a/source/blender/makesrna/intern/rna_access.c
+++ b/source/blender/makesrna/intern/rna_access.c
@@ -1454,7 +1454,7 @@ static void rna_property_update(bContext *C, Main *bmain, Scene *scene, PointerR
* but this isnt likely to be a performance problem. */
int RNA_property_update_check(PropertyRNA *prop)
{
- return ((prop->magic != RNA_MAGIC) || prop->update || prop->noteflag);
+ return (prop->magic != RNA_MAGIC || prop->update || prop->noteflag);
}
void RNA_property_update(bContext *C, PointerRNA *ptr, PropertyRNA *prop)
diff --git a/source/blender/makesrna/intern/rna_render.c b/source/blender/makesrna/intern/rna_render.c
index 460d7ce1c45..ef2e97c4427 100644
--- a/source/blender/makesrna/intern/rna_render.c
+++ b/source/blender/makesrna/intern/rna_render.c
@@ -397,11 +397,15 @@ static void rna_def_render_engine(BlenderRNA *brna)
RNA_def_property_flag(prop, PROP_REGISTER);
prop= RNA_def_property(srna, "bl_use_preview", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "type->flag", RE_DO_PREVIEW);
+ RNA_def_property_boolean_sdna(prop, NULL, "type->flag", RE_USE_PREVIEW);
RNA_def_property_flag(prop, PROP_REGISTER_OPTIONAL);
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_boolean_negative_sdna(prop, NULL, "type->flag", RE_USE_POSTPROCESS);
+ RNA_def_property_flag(prop, PROP_REGISTER_OPTIONAL);
+
+ prop= RNA_def_property(srna, "bl_use_shading_nodes", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "type->flag", RE_USE_SHADING_NODES);
RNA_def_property_flag(prop, PROP_REGISTER_OPTIONAL);
RNA_define_verify_sdna(1);
diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c
index c7a5d2c8f65..42ebdcbc582 100644
--- a/source/blender/makesrna/intern/rna_scene.c
+++ b/source/blender/makesrna/intern/rna_scene.c
@@ -841,6 +841,12 @@ static int rna_RenderSettings_multiple_engines_get(PointerRNA *UNUSED(ptr))
return (BLI_countlist(&R_engines) > 1);
}
+static int rna_RenderSettings_use_shading_nodes_get(PointerRNA *ptr)
+{
+ Scene *scene= (Scene*)ptr->id.data;
+ return scene_use_new_shading_nodes(scene);
+}
+
static int rna_RenderSettings_use_game_engine_get(PointerRNA *ptr)
{
RenderData *rd= (RenderData*)ptr->data;
@@ -3230,6 +3236,11 @@ static void rna_def_scene_render_data(BlenderRNA *brna)
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
RNA_def_property_ui_text(prop, "Multiple Engines", "More than one rendering engine is available");
+ prop= RNA_def_property(srna, "use_shading_nodes", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_funcs(prop, "rna_RenderSettings_use_shading_nodes_get", NULL);
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+ RNA_def_property_ui_text(prop, "Use Shading Nodes", "Active render engine uses new shading nodes system");
+
prop= RNA_def_property(srna, "use_game_engine", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_funcs(prop, "rna_RenderSettings_use_game_engine_get", NULL);
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c
index b4bda045a70..8279bdc4a91 100644
--- a/source/blender/makesrna/intern/rna_space.c
+++ b/source/blender/makesrna/intern/rna_space.c
@@ -1373,6 +1373,11 @@ static void rna_def_space_view3d(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Relationship Lines", "Show dashed lines indicating parent or constraint relationships");
RNA_def_property_update(prop, NC_SPACE|ND_SPACE_VIEW3D, NULL);
+ prop= RNA_def_property(srna, "show_textured_solid", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag2", V3D_SOLID_TEX);
+ RNA_def_property_ui_text(prop, "Textured Solid", "Display face-assigned textures in solid view");
+ RNA_def_property_update(prop, NC_SPACE|ND_SPACE_VIEW3D, NULL);
+
prop= RNA_def_property(srna, "lock_camera", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag2", V3D_LOCK_CAMERA);
RNA_def_property_ui_text(prop, "Lock Camera to View", "Enable view navigation within the camera view");
diff --git a/source/blender/render/extern/include/RE_engine.h b/source/blender/render/extern/include/RE_engine.h
index 7f01bc673d2..7d5ba28cfa6 100644
--- a/source/blender/render/extern/include/RE_engine.h
+++ b/source/blender/render/extern/include/RE_engine.h
@@ -48,10 +48,11 @@ struct Scene;
/* External Engine */
-#define RE_INTERNAL 1
-#define RE_GAME 2
-#define RE_DO_PREVIEW 4
-#define RE_DO_ALL 8
+#define RE_INTERNAL 1
+#define RE_GAME 2
+#define RE_USE_PREVIEW 4
+#define RE_USE_POSTPROCESS 8
+#define RE_USE_SHADING_NODES 16
extern ListBase R_engines;
diff --git a/source/blender/render/intern/pipeline/engine.c b/source/blender/render/intern/pipeline/engine.c
index 0fc6a0320c8..d67cd3cb88f 100644
--- a/source/blender/render/intern/pipeline/engine.c
+++ b/source/blender/render/intern/pipeline/engine.c
@@ -268,11 +268,11 @@ int RE_engine_render(Render *re, int do_all)
/* verify if we can render */
if(!type->render)
return 0;
- if((re->r.scemode & R_PREVIEWBUTS) && !(type->flag & RE_DO_PREVIEW))
+ if((re->r.scemode & R_PREVIEWBUTS) && !(type->flag & RE_USE_PREVIEW))
return 0;
- if(do_all && !(type->flag & RE_DO_ALL))
+ if(do_all && !(type->flag & RE_USE_POSTPROCESS))
return 0;
- if(!do_all && (type->flag & RE_DO_ALL))
+ if(!do_all && (type->flag & RE_USE_POSTPROCESS))
return 0;
/* create render result */