More work on render stuff!
- Scene support in RenderLayers You now can indicate in Compositor to use RenderLayer(s) from other scenes. Use the new dropdown menu in the "Render Result" node. It will change the title of the node to indicate that. The other Scenes are rendered fully separate, creating own databases (and octrees) after the current scene was finished. They use their own render settings, with as exception the render output size (and optional border). This makes the option an interesting memory saver and speedup. Also note that the render-results of other scenes are kept in memory while you work. So, after a render, you can tweak all composit effects. - Render Stats Added an 'info string' to stats, printed in renderwindow header. It gives info now on steps "creating database", "shadow buffers", and "octree". - Bug fixes Added redraw event for Image window, when using compositor render. Text objects were not rendered using background render (probably a bug since depsgraph was added) Dropdown buttons in Node editor were not refreshed after usage Sometimes render window did not open, this due to wrong check for 'esc'. Removed option that renders view-layers on F12, with mouse in 3d window. Not only was it confusing, it's now more efficient with the Preview Panel, which does this nicely.
This commit is contained in:
@@ -643,7 +643,7 @@ void calc_renderwin_rectangle(int rectx, int recty, int posmask, int renderpos_r
|
||||
/* init renderwin, alloc/open/resize */
|
||||
static void renderwin_init_display_cb(RenderResult *rr)
|
||||
{
|
||||
if (G.afbreek == 0) {
|
||||
if (G.afbreek != 1) {
|
||||
int rendersize[2], renderpos[2], imagesize[2];
|
||||
|
||||
calc_renderwin_rectangle(rr->rectx, rr->recty, G.winpos, renderpos, rendersize);
|
||||
@@ -808,6 +808,9 @@ static void printrenderinfo_cb(RenderStats *rs)
|
||||
BLI_timestr(rs->lastframetime, info_time_str);
|
||||
spos+= sprintf(spos, " Time:%s ", info_time_str);
|
||||
|
||||
if(rs->infostr)
|
||||
spos+= sprintf(spos, " | %s", rs->infostr);
|
||||
|
||||
if(render_win) {
|
||||
if(render_win->render_text) MEM_freeN(render_win->render_text);
|
||||
render_win->render_text= BLI_strdup(str);
|
||||
@@ -1026,28 +1029,12 @@ void BIF_do_render(int anim)
|
||||
}
|
||||
}
|
||||
|
||||
/* if start render in 3d win, use layer from window (e.g also local view) */
|
||||
if(curarea && curarea->spacetype==SPACE_VIEW3D) {
|
||||
int lay= G.scene->lay;
|
||||
/*
|
||||
* if view is defined (might not be if called form script), check
|
||||
* and set layers
|
||||
*/
|
||||
if(G.vd) {
|
||||
if(G.vd->lay & 0xFF000000) // localview
|
||||
G.scene->lay |= G.vd->lay;
|
||||
else
|
||||
G.scene->lay= G.vd->lay;
|
||||
}
|
||||
|
||||
do_render(anim);
|
||||
|
||||
G.scene->lay= lay;
|
||||
}
|
||||
else do_render(anim);
|
||||
do_render(anim);
|
||||
|
||||
if(G.scene->use_nodes)
|
||||
if(G.scene->use_nodes) {
|
||||
allqueue(REDRAWNODE, 1);
|
||||
allqueue(REDRAWIMAGE, 1);
|
||||
}
|
||||
if (slink_flag) G.f |= G_DOSCRIPTLINKS;
|
||||
if (G.f & G_DOSCRIPTLINKS) BPY_do_all_scripts(SCRIPT_POSTRENDER);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user