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@gmail.com>2019-06-06 15:36:40 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2019-06-06 16:07:09 +0300
commit095df1ac217f3e43667f94ab189a67175bcd7af5 (patch)
treef651d78089a6f052cd334556eba4b7566b4e7a2f /source/blender/editors/space_view3d/view3d_draw.c
parent54021da58bb0a593cbdfa38317d2d8a16fa1780c (diff)
Python API: allow external render engines to use Eevee for LookDev shading
This is enabled with bl_use_eevee_viewport = True. It allows external engines to generate an Cycles/Eevee shader node setup to emulate their materials in the realtime viewport, or to leave it to users to do manually. Removed bl_use_exclude_layers and bl_use_shading_nodes that did nothing anymore. This should not break API compatibility, any scripts setting those should continue to work the same as before. Also adds descriptions for some RenderEngine settings.
Diffstat (limited to 'source/blender/editors/space_view3d/view3d_draw.c')
-rw-r--r--source/blender/editors/space_view3d/view3d_draw.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c
index 2ce67bfbe4c..5731da18511 100644
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.c
@@ -1447,13 +1447,16 @@ RenderEngineType *ED_view3d_engine_type(Scene *scene, int drawtype)
{
/*
* Temporary viewport draw modes until we have a proper system.
- * all modes are done in the draw manager, except
- * cycles material as it is an external render engine.
+ * all modes are done in the draw manager, except external render
+ * engines like Cycles.
*/
- if (strcmp(scene->r.engine, RE_engine_id_CYCLES) == 0 && drawtype == OB_MATERIAL) {
+ RenderEngineType *type = RE_engines_find(scene->r.engine);
+ if (drawtype == OB_MATERIAL && (type->flag & RE_USE_EEVEE_VIEWPORT)) {
return RE_engines_find(RE_engine_id_BLENDER_EEVEE);
}
- return RE_engines_find(scene->r.engine);
+ else {
+ return type;
+ }
}
void view3d_main_region_draw(const bContext *C, ARegion *ar)