diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-04-17 14:35:05 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-04-18 17:35:38 +0300 |
commit | f9cf2e2f6cc779764f46dae7ceadc4bb2e9ddcb5 (patch) | |
tree | 0f409fce181813cab818bfb83a33779e38774684 /source/blender/editors/space_node | |
parent | 15850a8740ed95afdc5779e224bf40f7540a7d62 (diff) |
Workspaces: remove workspace engine, use 3D viewport draw mode instead.
ViewRender was removed, which means we can't get the render engine for files
saved in 2.8. We assume that any files saved in 2.8 were intended to use Eevee
and set the engine to that.
A fix included with this is that .blend thumbails now draw with Clay mode,
and never Eevee or Cycles. These were drawn with solid mode in 2.7, and should
be very fast and not e.g. load heavy image textures.
Differential Revision: https://developer.blender.org/D3156
Diffstat (limited to 'source/blender/editors/space_node')
-rw-r--r-- | source/blender/editors/space_node/node_edit.c | 12 | ||||
-rw-r--r-- | source/blender/editors/space_node/node_templates.c | 3 | ||||
-rw-r--r-- | source/blender/editors/space_node/space_node.c | 5 |
3 files changed, 9 insertions, 11 deletions
diff --git a/source/blender/editors/space_node/node_edit.c b/source/blender/editors/space_node/node_edit.c index 94c31a7ddb7..b6680d8560f 100644 --- a/source/blender/editors/space_node/node_edit.c +++ b/source/blender/editors/space_node/node_edit.c @@ -383,7 +383,7 @@ bool ED_node_is_texture(struct SpaceNode *snode) /* called from shading buttons or header */ void ED_node_shader_default(const bContext *C, ID *id) { - ViewRender *view_render = CTX_data_view_render(C); + Scene *scene = CTX_data_scene(C); bNode *in, *out; bNodeSocket *fromsock, *tosock, *sock; bNodeTree *ntree; @@ -398,11 +398,11 @@ void ED_node_shader_default(const bContext *C, ID *id) Material *ma = (Material *)id; ma->nodetree = ntree; - if (BKE_viewrender_uses_blender_eevee(view_render)) { + if (BKE_scene_uses_blender_eevee(scene)) { output_type = SH_NODE_OUTPUT_MATERIAL; shader_type = SH_NODE_BSDF_PRINCIPLED; } - else if (BKE_viewrender_use_new_shading_nodes(view_render)) { + else if (BKE_scene_use_new_shading_nodes(scene)) { output_type = SH_NODE_OUTPUT_MATERIAL; shader_type = SH_NODE_BSDF_DIFFUSE; } @@ -460,7 +460,7 @@ void ED_node_shader_default(const bContext *C, ID *id) nodeAddLink(ntree, in, fromsock, out, tosock); /* default values */ - if (BKE_viewrender_use_new_shading_nodes(view_render)) { + if (BKE_scene_use_new_shading_nodes(scene)) { PointerRNA sockptr; sock = in->inputs.first; RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, sock, &sockptr); @@ -2353,7 +2353,7 @@ void NODE_OT_tree_socket_move(wmOperatorType *ot) static int node_shader_script_update_poll(bContext *C) { Scene *scene = CTX_data_scene(C); - RenderEngineType *type = RE_engines_find(scene->view_render.engine_id); + RenderEngineType *type = RE_engines_find(scene->r.engine); SpaceNode *snode = CTX_wm_space_node(C); bNode *node; Text *text; @@ -2423,7 +2423,7 @@ static int node_shader_script_update_exec(bContext *C, wmOperator *op) bool found = false; /* setup render engine */ - type = RE_engines_find(scene->view_render.engine_id); + type = RE_engines_find(scene->r.engine); engine = RE_engine_create(type); engine->reports = op->reports; diff --git a/source/blender/editors/space_node/node_templates.c b/source/blender/editors/space_node/node_templates.c index 241ab60fe43..173c919e38c 100644 --- a/source/blender/editors/space_node/node_templates.c +++ b/source/blender/editors/space_node/node_templates.c @@ -559,7 +559,6 @@ static void ui_template_node_link_menu(bContext *C, uiLayout *layout, void *but_ { Main *bmain = CTX_data_main(C); Scene *scene = CTX_data_scene(C); - ViewRender *view_render = CTX_data_view_render(C); uiBlock *block = uiLayoutGetBlock(layout); uiBut *but = (uiBut *)but_p; uiLayout *split, *column; @@ -576,7 +575,7 @@ static void ui_template_node_link_menu(bContext *C, uiLayout *layout, void *but_ arg->layout = split; if (ntreetype && ntreetype->foreach_nodeclass) - ntreetype->foreach_nodeclass(view_render, arg, node_menu_column_foreach_cb); + ntreetype->foreach_nodeclass(scene, arg, node_menu_column_foreach_cb); column = uiLayoutColumn(split, false); UI_block_layout_set_current(block, column); diff --git a/source/blender/editors/space_node/space_node.c b/source/blender/editors/space_node/space_node.c index e1765e39f7a..6fc5ac62949 100644 --- a/source/blender/editors/space_node/space_node.c +++ b/source/blender/editors/space_node/space_node.c @@ -383,13 +383,12 @@ static void node_init(struct wmWindowManager *UNUSED(wm), ScrArea *UNUSED(sa)) } static void node_area_listener(bScreen *UNUSED(sc), ScrArea *sa, wmNotifier *wmn, Scene *scene, - WorkSpace *workspace) + WorkSpace *UNUSED(workspace)) { /* note, ED_area_tag_refresh will re-execute compositor */ SpaceNode *snode = sa->spacedata.first; - ViewRender *view_render = BKE_viewrender_get(scene, workspace); /* shaderfrom is only used for new shading nodes, otherwise all shaders are from objects */ - short shader_type = BKE_viewrender_use_new_shading_nodes(view_render) ? snode->shaderfrom : SNODE_SHADER_OBJECT; + short shader_type = BKE_scene_use_new_shading_nodes(scene) ? snode->shaderfrom : SNODE_SHADER_OBJECT; /* preview renders */ switch (wmn->category) { |