forked from bartvdbraak/blender
Related to #36115: show in render info text when 3D view layer or camera overrides
scene settings when pressing F12 over a 3D view.
This commit is contained in:
parent
24c77647d2
commit
8d9229538c
@ -266,6 +266,7 @@ typedef struct RenderJob {
|
|||||||
SceneRenderLayer *srl;
|
SceneRenderLayer *srl;
|
||||||
struct Object *camera_override;
|
struct Object *camera_override;
|
||||||
int lay;
|
int lay;
|
||||||
|
bool v3d_override;
|
||||||
short anim, write_still;
|
short anim, write_still;
|
||||||
Image *image;
|
Image *image;
|
||||||
ImageUser iuser;
|
ImageUser iuser;
|
||||||
@ -283,7 +284,7 @@ static void render_freejob(void *rjv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* str is IMA_MAX_RENDER_TEXT in size */
|
/* str is IMA_MAX_RENDER_TEXT in size */
|
||||||
static void make_renderinfo_string(RenderStats *rs, Scene *scene, char *str)
|
static void make_renderinfo_string(RenderStats *rs, Scene *scene, bool v3d_override, char *str)
|
||||||
{
|
{
|
||||||
char info_time_str[32]; // used to be extern to header_info.c
|
char info_time_str[32]; // used to be extern to header_info.c
|
||||||
uintptr_t mem_in_use, mmap_in_use, peak_memory;
|
uintptr_t mem_in_use, mmap_in_use, peak_memory;
|
||||||
@ -300,7 +301,9 @@ static void make_renderinfo_string(RenderStats *rs, Scene *scene, char *str)
|
|||||||
|
|
||||||
/* local view */
|
/* local view */
|
||||||
if (rs->localview)
|
if (rs->localview)
|
||||||
spos += sprintf(spos, "%s | ", IFACE_("Local View"));
|
spos += sprintf(spos, "%s | ", IFACE_("3D Local View"));
|
||||||
|
else if (v3d_override)
|
||||||
|
spos += sprintf(spos, "%s | ", IFACE_("3D View"));
|
||||||
|
|
||||||
/* frame number */
|
/* frame number */
|
||||||
spos += sprintf(spos, IFACE_("Frame:%d "), (scene->r.cfra));
|
spos += sprintf(spos, IFACE_("Frame:%d "), (scene->r.cfra));
|
||||||
@ -376,7 +379,7 @@ static void image_renderinfo_cb(void *rjv, RenderStats *rs)
|
|||||||
if (rr->text == NULL)
|
if (rr->text == NULL)
|
||||||
rr->text = MEM_callocN(IMA_MAX_RENDER_TEXT, "rendertext");
|
rr->text = MEM_callocN(IMA_MAX_RENDER_TEXT, "rendertext");
|
||||||
|
|
||||||
make_renderinfo_string(rs, rj->scene, rr->text);
|
make_renderinfo_string(rs, rj->scene, rj->v3d_override, rr->text);
|
||||||
}
|
}
|
||||||
|
|
||||||
RE_ReleaseResult(rj->re);
|
RE_ReleaseResult(rj->re);
|
||||||
@ -643,7 +646,12 @@ static int screen_render_invoke(bContext *C, wmOperator *op, const wmEvent *even
|
|||||||
rj->reports = op->reports;
|
rj->reports = op->reports;
|
||||||
|
|
||||||
if (v3d) {
|
if (v3d) {
|
||||||
rj->lay = v3d->lay;
|
if (rj->lay != v3d->lay) {
|
||||||
|
rj->lay = v3d->lay;
|
||||||
|
rj->v3d_override = true;
|
||||||
|
}
|
||||||
|
else if (camera_override != scene->camera)
|
||||||
|
rj->v3d_override = true;
|
||||||
|
|
||||||
if (v3d->localvd)
|
if (v3d->localvd)
|
||||||
rj->lay |= v3d->localvd->lay;
|
rj->lay |= v3d->localvd->lay;
|
||||||
@ -826,7 +834,7 @@ static void render_view3d_renderinfo_cb(void *rjp, RenderStats *rs)
|
|||||||
if (rp->rv3d->render_engine == NULL)
|
if (rp->rv3d->render_engine == NULL)
|
||||||
*rp->stop = 1;
|
*rp->stop = 1;
|
||||||
else if (rp->engine->text) {
|
else if (rp->engine->text) {
|
||||||
make_renderinfo_string(rs, rp->scene, rp->engine->text);
|
make_renderinfo_string(rs, rp->scene, false, rp->engine->text);
|
||||||
|
|
||||||
/* make jobs timer to send notifier */
|
/* make jobs timer to send notifier */
|
||||||
*(rp->do_update) = TRUE;
|
*(rp->do_update) = TRUE;
|
||||||
|
Loading…
Reference in New Issue
Block a user