Workbench: Removed Clay engine draw mode
authorJeroen Bakker <j.bakker@atmind.nl>
Fri, 20 Apr 2018 14:40:08 +0000 (16:40 +0200)
committerJeroen Bakker <j.bakker@atmind.nl>
Fri, 20 Apr 2018 14:40:08 +0000 (16:40 +0200)
- need a draw mode in workbench engine.
- reorganized render engine retrieval in 3d view. There are 2 places
where this happenes 1. 3d view draw code and 2. draw manager.
the draw manager code is not used for external engines, currently added
an exception in for cycles. will need to have a better solution in
place.

source/blender/draw/intern/draw_manager.c
source/blender/editors/space_view3d/view3d_draw.c
source/blender/makesdna/DNA_object_types.h
source/blender/makesrna/intern/rna_space.c

index 485f5e63d65eb16d3b48d5e31aaddb97e76f8843..dcc005d190af98ef947ac8329a0aedb60cc3a6a6 100644 (file)
@@ -912,12 +912,6 @@ static void drw_engines_enable_from_engine(RenderEngineType *engine_type, int dr
                        }
                        break;
 
-#ifdef WITH_CLAY_ENGINE
-               case OB_CLAY:
-                       use_drw_engine(&draw_engine_clay_type);
-                       break;
-#endif
-
                case OB_TEXTURE:
                case OB_MATERIAL:
                case OB_RENDER:
index 5316520ccab0466a5bde2a29d2ea1c8836eaebfb..166684e7230b89dfb3574817b798f9450fa18a99 100644 (file)
@@ -1245,16 +1245,15 @@ static void view3d_draw_view(const bContext *C, ARegion *ar)
 
 RenderEngineType *ED_view3d_engine_type(Scene *scene, int drawtype)
 {
-       /* Tempory viewport draw modes until we have a proper system. */
-       if (drawtype == OB_RENDER) {
-               return RE_engines_find(scene->r.engine);
-       }
-       else if (drawtype == OB_MATERIAL) {
+       /*
+        * Tempory 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.
+        */
+       if (strcmp(scene->r.engine, RE_engine_id_CYCLES) == 0 && drawtype == OB_MATERIAL) {
                return RE_engines_find(RE_engine_id_BLENDER_EEVEE);
        }
-       else {
-               return RE_engines_find(RE_engine_id_BLENDER_WORKBENCH);
-       }
+       return RE_engines_find(scene->r.engine);
 }
 
 void view3d_main_region_draw(const bContext *C, ARegion *ar)
index 9c25da12da738b69728a47bc7dec7ec993445747..0f9cbc06fa89851991fc161d4c3324b06b742caf 100644 (file)
@@ -442,7 +442,6 @@ enum {
        OB_MATERIAL  = 4,
        OB_TEXTURE   = 5,
        OB_RENDER    = 6,
-       OB_CLAY    = 7,
 };
 
 /* dtx: flags (short) */
index 7d5745c423e91dce68fd6b4aecc051ecbe29dcec..3c02b60140a8a8473cad3a2270007040352af9ab 100644 (file)
@@ -176,7 +176,6 @@ static const EnumPropertyItem autosnap_items[] = {
 const EnumPropertyItem rna_enum_viewport_shade_items[] = {
        {OB_WIRE, "WIREFRAME", ICON_WIRE, "Wireframe", "Display the object as wire edges"},
        {OB_SOLID, "SOLID", ICON_SOLID, "Solid", "Display the object solid"},
-       {OB_CLAY, "MATCAP", ICON_SOLID, "Clay", "Display using Clay"},
        {OB_TEXTURE, "TEXTURED", ICON_POTATO, "Texture", "Display the object solid, with a texture"},
        {OB_MATERIAL, "MATERIAL", ICON_MATERIAL_DATA, "Material", "Display objects solid, with GLSL material"},
        {OB_RENDER, "RENDERED", ICON_SMOOTH, "Rendered", "Display render preview"},
@@ -692,7 +691,6 @@ static const EnumPropertyItem *rna_SpaceView3D_viewport_shade_itemf(
        int totitem = 0;
 
        RNA_enum_items_add_value(&item, &totitem, rna_enum_viewport_shade_items, OB_SOLID);
-       RNA_enum_items_add_value(&item, &totitem, rna_enum_viewport_shade_items, OB_CLAY);
 
        if (BKE_scene_uses_blender_eevee(scene)) {
                RNA_enum_items_add_value(&item, &totitem, rna_enum_viewport_shade_items, OB_RENDER);