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:
Diffstat (limited to 'source/blender/editors/render')
-rw-r--r--source/blender/editors/render/render_internal.c144
-rw-r--r--source/blender/editors/render/render_opengl.c54
-rw-r--r--source/blender/editors/render/render_preview.c123
-rw-r--r--source/blender/editors/render/render_shading.c60
-rw-r--r--source/blender/editors/render/render_update.c24
-rw-r--r--source/blender/editors/render/render_view.c30
6 files changed, 290 insertions, 145 deletions
diff --git a/source/blender/editors/render/render_internal.c b/source/blender/editors/render/render_internal.c
index d9a68a060f8..8403f178284 100644
--- a/source/blender/editors/render/render_internal.c
+++ b/source/blender/editors/render/render_internal.c
@@ -149,19 +149,22 @@ static void image_buffer_rect_update(RenderJob *rj,
if (renrect) {
/* if (ymax == recty), rendering of layer is ready,
* we should not draw, other things happen... */
- if (rr->renlay == NULL || renrect->ymax >= rr->recty)
+ if (rr->renlay == NULL || renrect->ymax >= rr->recty) {
return;
+ }
/* xmin here is first subrect x coord, xmax defines subrect width */
xmin = renrect->xmin + rr->crop;
xmax = renrect->xmax - xmin + rr->crop;
- if (xmax < 2)
+ if (xmax < 2) {
return;
+ }
ymin = renrect->ymin + rr->crop;
ymax = renrect->ymax - ymin + rr->crop;
- if (ymax < 2)
+ if (ymax < 2) {
return;
+ }
renrect->ymin = renrect->ymax;
}
else {
@@ -172,19 +175,24 @@ static void image_buffer_rect_update(RenderJob *rj,
/* xmin ymin is in tile coords. transform to ibuf */
rxmin = rr->tilerect.xmin + xmin;
- if (rxmin >= ibuf->x)
+ if (rxmin >= ibuf->x) {
return;
+ }
rymin = rr->tilerect.ymin + ymin;
- if (rymin >= ibuf->y)
+ if (rymin >= ibuf->y) {
return;
+ }
- if (rxmin + xmax > ibuf->x)
+ if (rxmin + xmax > ibuf->x) {
xmax = ibuf->x - rxmin;
- if (rymin + ymax > ibuf->y)
+ }
+ if (rymin + ymax > ibuf->y) {
ymax = ibuf->y - rymin;
+ }
- if (xmax < 1 || ymax < 1)
+ if (xmax < 1 || ymax < 1) {
return;
+ }
/* The thing here is, the logic below (which was default behavior
* of how rectf is acquiring since forever) gives float buffer for
@@ -205,8 +213,9 @@ static void image_buffer_rect_update(RenderJob *rj,
rv = RE_RenderViewGetById(rr, view_id);
/* find current float rect for display, first case is after composite... still weak */
- if (rv->rectf)
+ if (rv->rectf) {
rectf = rv->rectf;
+ }
else {
if (rv->rect32) {
/* special case, currently only happens with sequencer rendering,
@@ -217,13 +226,15 @@ static void image_buffer_rect_update(RenderJob *rj,
return;
}
else {
- if (rr->renlay == NULL)
+ if (rr->renlay == NULL) {
return;
+ }
rectf = RE_RenderLayerGetPass(rr->renlay, RE_PASSNAME_COMBINED, viewname);
}
}
- if (rectf == NULL)
+ if (rectf == NULL) {
return;
+ }
rectf += 4 * (rr->rectx * ymin + xmin);
linear_stride = rr->rectx;
@@ -296,8 +307,9 @@ static void screen_render_single_layer_set(
RNA_string_get(op->ptr, "layer", rl_name);
rl = (ViewLayer *)BLI_findstring(&(*scene)->view_layers, rl_name, offsetof(ViewLayer, name));
- if (rl)
+ if (rl) {
*single_layer = rl;
+ }
}
else if (((*scene)->r.scemode & R_SINGLE_LAYER) && active_layer) {
*single_layer = active_layer;
@@ -351,7 +363,7 @@ static int screen_render_exec(bContext *C, wmOperator *op)
RE_SetReports(re, op->reports);
BLI_threaded_malloc_begin();
- if (is_animation)
+ if (is_animation) {
RE_BlenderAnim(re,
mainp,
scene,
@@ -360,9 +372,11 @@ static int screen_render_exec(bContext *C, wmOperator *op)
scene->r.sfra,
scene->r.efra,
scene->r.frame_step);
- else
+ }
+ else {
RE_BlenderFrame(
re, mainp, scene, single_layer, camera_override, scene->r.cfra, is_write_still);
+ }
BLI_threaded_malloc_end();
RE_SetReports(re, NULL);
@@ -404,10 +418,12 @@ static void make_renderinfo_string(const RenderStats *rs,
megs_peak_memory = (peak_memory) / (1024.0 * 1024.0);
/* local view */
- if (rs->localview)
+ if (rs->localview) {
spos += sprintf(spos, "%s | ", IFACE_("3D Local View"));
- else if (v3d_override)
+ }
+ else if (v3d_override) {
spos += sprintf(spos, "%s | ", IFACE_("3D View"));
+ }
/* frame number */
spos += sprintf(spos, IFACE_("Frame:%d "), (scene->r.cfra));
@@ -416,16 +432,19 @@ static void make_renderinfo_string(const RenderStats *rs,
BLI_timecode_string_from_time_simple(info_time_str, sizeof(info_time_str), rs->lastframetime);
if (rs->infostr && rs->infostr[0]) {
- if (rs->lastframetime != 0.0)
+ if (rs->lastframetime != 0.0) {
spos += sprintf(spos, IFACE_("| Last:%s "), info_time_str);
- else
+ }
+ else {
spos += sprintf(spos, "| ");
+ }
BLI_timecode_string_from_time_simple(
info_time_str, sizeof(info_time_str), PIL_check_seconds_timer() - rs->starttime);
}
- else
+ else {
spos += sprintf(spos, "| ");
+ }
spos += sprintf(spos, IFACE_("Time:%s "), info_time_str);
@@ -436,38 +455,49 @@ static void make_renderinfo_string(const RenderStats *rs,
}
}
else {
- if (rs->totvert || rs->totface || rs->tothalo || rs->totstrand || rs->totlamp)
+ if (rs->totvert || rs->totface || rs->tothalo || rs->totstrand || rs->totlamp) {
spos += sprintf(spos, "| ");
+ }
- if (rs->totvert)
+ if (rs->totvert) {
spos += sprintf(spos, IFACE_("Ve:%d "), rs->totvert);
- if (rs->totface)
+ }
+ if (rs->totface) {
spos += sprintf(spos, IFACE_("Fa:%d "), rs->totface);
- if (rs->tothalo)
+ }
+ if (rs->tothalo) {
spos += sprintf(spos, IFACE_("Ha:%d "), rs->tothalo);
- if (rs->totstrand)
+ }
+ if (rs->totstrand) {
spos += sprintf(spos, IFACE_("St:%d "), rs->totstrand);
- if (rs->totlamp)
+ }
+ if (rs->totlamp) {
spos += sprintf(spos, IFACE_("Li:%d "), rs->totlamp);
+ }
- if (rs->mem_peak == 0.0f)
+ if (rs->mem_peak == 0.0f) {
spos += sprintf(spos,
IFACE_("| Mem:%.2fM (%.2fM, Peak %.2fM) "),
megs_used_memory,
mmap_used_memory,
megs_peak_memory);
- else
+ }
+ else {
spos += sprintf(spos, IFACE_("| Mem:%.2fM, Peak: %.2fM "), rs->mem_used, rs->mem_peak);
+ }
- if (rs->curfield)
+ if (rs->curfield) {
spos += sprintf(spos, IFACE_("Field %d "), rs->curfield);
- if (rs->curblur)
+ }
+ if (rs->curblur) {
spos += sprintf(spos, IFACE_("Blur %d "), rs->curblur);
+ }
}
/* full sample */
- if (rs->curfsa)
+ if (rs->curfsa) {
spos += sprintf(spos, IFACE_("| Full Sample %d "), rs->curfsa);
+ }
/* extra info */
if (rs->infostr && rs->infostr[0]) {
@@ -478,9 +508,11 @@ static void make_renderinfo_string(const RenderStats *rs,
}
/* very weak... but 512 characters is quite safe */
- if (spos >= str + IMA_MAX_RENDER_TEXT)
- if (G.debug & G_DEBUG)
+ if (spos >= str + IMA_MAX_RENDER_TEXT) {
+ if (G.debug & G_DEBUG) {
printf("WARNING! renderwin text beyond limit\n");
+ }
+ }
}
static void image_renderinfo_cb(void *rjv, RenderStats *rs)
@@ -492,8 +524,9 @@ static void image_renderinfo_cb(void *rjv, RenderStats *rs)
if (rr) {
/* malloc OK here, stats_draw is not in tile threads */
- if (rr->text == NULL)
+ if (rr->text == NULL) {
rr->text = MEM_callocN(IMA_MAX_RENDER_TEXT, "rendertext");
+ }
make_renderinfo_string(rs, rj->scene, rj->v3d_override, rr->error, rr->text);
}
@@ -594,8 +627,9 @@ static void image_rect_update(void *rjv, RenderResult *rr, volatile rcti *renrec
return;
}
- if (rr == NULL)
+ if (rr == NULL) {
return;
+ }
/* update part of render */
render_image_update_pass_and_layer(rj, rr, &rj->iuser);
@@ -636,7 +670,7 @@ static void render_startjob(void *rjv, short *stop, short *do_update, float *pro
RE_SetReports(rj->re, rj->reports);
- if (rj->anim)
+ if (rj->anim) {
RE_BlenderAnim(rj->re,
rj->main,
rj->scene,
@@ -645,7 +679,8 @@ static void render_startjob(void *rjv, short *stop, short *do_update, float *pro
rj->scene->r.sfra,
rj->scene->r.efra,
rj->scene->r.frame_step);
- else
+ }
+ else {
RE_BlenderFrame(rj->re,
rj->main,
rj->scene,
@@ -653,6 +688,7 @@ static void render_startjob(void *rjv, short *stop, short *do_update, float *pro
rj->camera_override,
rj->scene->r.cfra,
rj->write_still);
+ }
RE_SetReports(rj->re, NULL);
}
@@ -703,8 +739,9 @@ static void render_endjob(void *rjv)
* to avoid referencing freed renderjobs bug T24508. */
RE_InitRenderCB(rj->re);
- if (rj->main != G_MAIN)
+ if (rj->main != G_MAIN) {
BKE_main_free(rj->main);
+ }
/* else the frame will not update for the original value */
if (rj->anim && !(rj->scene->r.scemode & R_NO_FRAME_UPDATE)) {
@@ -755,8 +792,9 @@ static void render_endjob(void *rjv)
Image *ima = rj->image;
ImBuf *ibuf = BKE_image_acquire_ibuf(ima, &rj->iuser, &lock);
- if (ibuf)
+ if (ibuf) {
ibuf->userflags |= IB_DISPLAY_BUFFER_INVALID;
+ }
BKE_image_release_ibuf(ima, ibuf, lock);
}
@@ -777,10 +815,12 @@ static int render_breakjob(void *rjv)
{
RenderJob *rj = rjv;
- if (G.is_break)
+ if (G.is_break) {
return 1;
- if (rj->stop && *(rj->stop))
+ }
+ if (rj->stop && *(rj->stop)) {
return 1;
+ }
return 0;
}
@@ -788,8 +828,9 @@ static int render_breakjob(void *rjv)
* note: this wont check for the escape key being pressed, but doing so isnt threadsafe */
static int render_break(void *UNUSED(rjv))
{
- if (G.is_break)
+ if (G.is_break) {
return 1;
+ }
return 0;
}
@@ -905,8 +946,9 @@ static int screen_render_invoke(bContext *C, wmOperator *op, const wmEvent *even
screen_render_single_layer_set(op, bmain, active_layer, &scene, &single_layer);
/* only one render job at a time */
- if (WM_jobs_test(CTX_wm_manager(C), scene, WM_JOB_TYPE_RENDER))
+ if (WM_jobs_test(CTX_wm_manager(C), scene, WM_JOB_TYPE_RENDER)) {
return OPERATOR_CANCELLED;
+ }
if (!RE_is_rendering_allowed(scene, single_layer, camera_override, op->reports)) {
return OPERATOR_CANCELLED;
@@ -922,8 +964,9 @@ static int screen_render_invoke(bContext *C, wmOperator *op, const wmEvent *even
WM_jobs_kill_all_except(CTX_wm_manager(C), CTX_wm_screen(C));
/* cancel animation playback */
- if (ED_screen_animation_playing(CTX_wm_manager(C)))
+ if (ED_screen_animation_playing(CTX_wm_manager(C))) {
ED_screen_animation_play(C, 0, 0);
+ }
/* handle UI stuff */
WM_cursor_wait(1);
@@ -946,8 +989,9 @@ static int screen_render_invoke(bContext *C, wmOperator *op, const wmEvent *even
jobflag = WM_JOB_EXCL_RENDER | WM_JOB_PRIORITY | WM_JOB_PROGRESS;
- if (RNA_struct_property_is_set(op->ptr, "layer"))
+ if (RNA_struct_property_is_set(op->ptr, "layer")) {
jobflag |= WM_JOB_SUSPEND;
+ }
/* job custom data */
rj = MEM_callocN(sizeof(RenderJob), "render job");
@@ -977,8 +1021,9 @@ static int screen_render_invoke(bContext *C, wmOperator *op, const wmEvent *even
}
if (v3d) {
- if (camera_override && camera_override != scene->camera)
+ if (camera_override && camera_override != scene->camera) {
rj->v3d_override = true;
+ }
}
/* Lock the user interface depending on render settings. */
@@ -1000,10 +1045,12 @@ static int screen_render_invoke(bContext *C, wmOperator *op, const wmEvent *even
}
/* setup job */
- if (RE_seq_render_active(scene, &scene->r))
+ if (RE_seq_render_active(scene, &scene->r)) {
name = "Sequence Render";
- else
+ }
+ else {
name = "Render";
+ }
wm_job = WM_jobs_get(
CTX_wm_manager(C), CTX_wm_window(C), scene, name, jobflag, WM_JOB_TYPE_RENDER);
@@ -1109,8 +1156,9 @@ Scene *ED_render_job_get_scene(const bContext *C)
wmWindowManager *wm = CTX_wm_manager(C);
RenderJob *rj = (RenderJob *)WM_jobs_customdata_from_type(wm, WM_JOB_TYPE_RENDER);
- if (rj)
+ if (rj) {
return rj->scene;
+ }
return NULL;
}
diff --git a/source/blender/editors/render/render_opengl.c b/source/blender/editors/render/render_opengl.c
index 6862881de59..41ef5d81901 100644
--- a/source/blender/editors/render/render_opengl.c
+++ b/source/blender/editors/render/render_opengl.c
@@ -154,8 +154,9 @@ static bool screen_opengl_is_multiview(OGLRender *oglrender)
RegionView3D *rv3d = oglrender->rv3d;
RenderData *rd = &oglrender->scene->r;
- if ((rd == NULL) || ((v3d != NULL) && (rv3d == NULL)))
+ if ((rd == NULL) || ((v3d != NULL) && (rv3d == NULL))) {
return false;
+ }
return (rd->scemode & R_MULTIVIEW) &&
((v3d == NULL) || (rv3d->persp == RV3D_CAMOB && v3d->camera));
@@ -189,14 +190,17 @@ static void screen_opengl_views_setup(OGLRender *oglrender)
RenderView *rv_del = rv->next;
BLI_remlink(&rr->views, rv_del);
- if (rv_del->rectf)
+ if (rv_del->rectf) {
MEM_freeN(rv_del->rectf);
+ }
- if (rv_del->rectz)
+ if (rv_del->rectz) {
MEM_freeN(rv_del->rectz);
+ }
- if (rv_del->rect32)
+ if (rv_del->rect32) {
MEM_freeN(rv_del->rect32);
+ }
MEM_freeN(rv_del);
}
@@ -219,14 +223,17 @@ static void screen_opengl_views_setup(OGLRender *oglrender)
BLI_remlink(&rr->views, rv_del);
- if (rv_del->rectf)
+ if (rv_del->rectf) {
MEM_freeN(rv_del->rectf);
+ }
- if (rv_del->rectz)
+ if (rv_del->rectz) {
MEM_freeN(rv_del->rectz);
+ }
- if (rv_del->rect32)
+ if (rv_del->rect32) {
MEM_freeN(rv_del->rect32);
+ }
MEM_freeN(rv_del);
}
@@ -234,8 +241,9 @@ static void screen_opengl_views_setup(OGLRender *oglrender)
/* create all the views that are needed */
for (srv = rd->views.first; srv; srv = srv->next) {
- if (BKE_scene_multiview_is_render_view_active(rd, srv) == false)
+ if (BKE_scene_multiview_is_render_view_active(rd, srv) == false) {
continue;
+ }
rv = BLI_findstring(&rr->views, srv->name, offsetof(SceneRenderView, name));
@@ -247,8 +255,9 @@ static void screen_opengl_views_setup(OGLRender *oglrender)
}
}
- if (!(is_multiview && BKE_scene_multiview_is_stereo3d(rd)))
+ if (!(is_multiview && BKE_scene_multiview_is_stereo3d(rd))) {
oglrender->iuser.flag &= ~IMA_SHOW_STEREO;
+ }
/* will only work for non multiview correctly */
if (v3d) {
@@ -431,10 +440,12 @@ static void screen_opengl_render_write(OGLRender *oglrender)
RE_ReleaseResultImage(oglrender->re);
- if (ok)
+ if (ok) {
printf("OpenGL Render written to '%s'\n", name);
- else
+ }
+ else {
printf("OpenGL Render failed to write '%s'\n", name);
+ }
}
static void UNUSED_FUNCTION(addAlphaOverFloat)(float dest[4], const float source[4])
@@ -551,8 +562,9 @@ static bool screen_opengl_render_init(bContext *C, wmOperator *op)
}
/* only one render job at a time */
- if (WM_jobs_test(wm, scene, WM_JOB_TYPE_RENDER))
+ if (WM_jobs_test(wm, scene, WM_JOB_TYPE_RENDER)) {
return false;
+ }
if (is_sequencer) {
is_view_context = false;
@@ -951,8 +963,9 @@ static bool screen_opengl_render_anim_step(bContext *C, wmOperator *op)
RenderResult *rr;
/* go to next frame */
- if (CFRA < oglrender->nfra)
+ if (CFRA < oglrender->nfra) {
CFRA++;
+ }
while (CFRA < oglrender->nfra) {
BKE_scene_graph_update_for_newframe(depsgraph, bmain);
CFRA++;
@@ -1035,8 +1048,9 @@ static int screen_opengl_render_modal(bContext *C, wmOperator *op, const wmEvent
return OPERATOR_FINISHED;
case TIMER:
/* render frame? */
- if (oglrender->timer == event->customdata)
+ if (oglrender->timer == event->customdata) {
break;
+ }
ATTR_FALLTHROUGH;
default:
/* nothing to do */
@@ -1068,12 +1082,14 @@ static int screen_opengl_render_invoke(bContext *C, wmOperator *op, const wmEven
OGLRender *oglrender;
const bool anim = RNA_boolean_get(op->ptr, "animation");
- if (!screen_opengl_render_init(C, op))
+ if (!screen_opengl_render_init(C, op)) {
return OPERATOR_CANCELLED;
+ }
if (anim) {
- if (!screen_opengl_render_anim_initialize(C, op))
+ if (!screen_opengl_render_anim_initialize(C, op)) {
return OPERATOR_CANCELLED;
+ }
}
oglrender = op->customdata;
@@ -1093,8 +1109,9 @@ static int screen_opengl_render_exec(bContext *C, wmOperator *op)
{
const bool is_animation = RNA_boolean_get(op->ptr, "animation");
- if (!screen_opengl_render_init(C, op))
+ if (!screen_opengl_render_init(C, op)) {
return OPERATOR_CANCELLED;
+ }
if (!is_animation) { /* same as invoke */
/* render image */
@@ -1106,8 +1123,9 @@ static int screen_opengl_render_exec(bContext *C, wmOperator *op)
else {
bool ret = true;
- if (!screen_opengl_render_anim_initialize(C, op))
+ if (!screen_opengl_render_anim_initialize(C, op)) {
return OPERATOR_CANCELLED;
+ }
while (ret) {
ret = screen_opengl_render_anim_step(C, op);
diff --git a/source/blender/editors/render/render_preview.c b/source/blender/editors/render/render_preview.c
index 2804ea151d6..c9a4f1948ce 100644
--- a/source/blender/editors/render/render_preview.c
+++ b/source/blender/editors/render/render_preview.c
@@ -131,14 +131,16 @@ ImBuf *get_brush_icon(Brush *brush)
}
}
- if (brush->icon_imbuf)
+ if (brush->icon_imbuf) {
BKE_icon_changed(BKE_icon_id_ensure(&brush->id));
+ }
}
}
}
- if (!(brush->icon_imbuf))
+ if (!(brush->icon_imbuf)) {
brush->id.icon_id = 0;
+ }
return brush->icon_imbuf;
}
@@ -234,17 +236,20 @@ static bool check_engine_supports_preview(Scene *scene)
void ED_preview_free_dbase(void)
{
- if (G_pr_main)
+ if (G_pr_main) {
BKE_main_free(G_pr_main);
+ }
- if (G_pr_main_grease_pencil)
+ if (G_pr_main_grease_pencil) {
BKE_main_free(G_pr_main_grease_pencil);
+ }
}
static Scene *preview_get_scene(Main *pr_main)
{
- if (pr_main == NULL)
+ if (pr_main == NULL) {
return NULL;
+ }
return pr_main->scenes.first;
}
@@ -397,10 +402,12 @@ static Scene *preview_prepare_scene(
sce->r.tiley = sce->r.ysch / 4;
}
- if ((id && sp->pr_method == PR_ICON_RENDER) && id_type != ID_WO)
+ if ((id && sp->pr_method == PR_ICON_RENDER) && id_type != ID_WO) {
sce->r.alphamode = R_ALPHAPREMUL;
- else
+ }
+ else {
sce->r.alphamode = R_ADDSKY;
+ }
sce->r.cfra = scene->r.cfra;
@@ -461,8 +468,9 @@ static Scene *preview_prepare_scene(
Material ***matar = give_matarar(base->object);
int actcol = max_ii(base->object->actcol - 1, 0);
- if (matar && actcol < base->object->totcol)
+ if (matar && actcol < base->object->totcol) {
(*matar)[actcol] = mat;
+ }
}
else if (base->object->type == OB_LAMP) {
base->flag |= BASE_VISIBLE;
@@ -510,8 +518,9 @@ static Scene *preview_prepare_scene(
for (Base *base = view_layer->object_bases.first; base; base = base->next) {
if (base->object->id.name[2] == 'p') {
- if (base->object->type == OB_LAMP)
+ if (base->object->type == OB_LAMP) {
base->object->data = la;
+ }
}
}
@@ -562,10 +571,12 @@ static bool ed_preview_draw_rect(ScrArea *sa, int split, int first, rcti *rect,
int newy = BLI_rcti_size_y(rect);
bool ok = false;
- if (!split || first)
+ if (!split || first) {
sprintf(name, "Preview %p", (void *)sa);
- else
+ }
+ else {
sprintf(name, "SecondPreview %p", (void *)sa);
+ }
if (split) {
if (first) {
@@ -581,8 +592,9 @@ static bool ed_preview_draw_rect(ScrArea *sa, int split, int first, rcti *rect,
/* test if something rendered ok */
re = RE_GetRender(name);
- if (re == NULL)
+ if (re == NULL) {
return false;
+ }
RE_AcquireResultImageViews(re, &rres);
@@ -609,8 +621,9 @@ static bool ed_preview_draw_rect(ScrArea *sa, int split, int first, rcti *rect,
float fy = rect->ymin;
/* material preview only needs monoscopy (view 0) */
- if (re)
+ if (re) {
RE_AcquiredResultGet32(re, &rres, (unsigned int *)rect_byte, 0);
+ }
IMMDrawPixelsTexState state = immDrawPixelsTexSetup(GPU_SHADER_2D_IMAGE_COLOR);
immDrawPixelsTex(&state,
@@ -662,11 +675,13 @@ void ED_preview_draw(const bContext *C, void *idp, void *parentp, void *slotp, r
ok = ed_preview_draw_rect(sa, 1, 1, rect, &newrect);
ok &= ed_preview_draw_rect(sa, 1, 0, rect, &newrect);
}
- else
+ else {
ok = ed_preview_draw_rect(sa, 0, 0, rect, &newrect);
+ }
- if (ok)
+ if (ok) {
*rect = newrect;
+ }
/* start a new preview render job if signaled through sbuts->preview,
* if no render result was found and no preview render job is running,
@@ -712,26 +727,30 @@ static void shader_preview_updatejob(void *spv)
if (GS(sp->id->name) == ID_MA) {
Material *mat = (Material *)sp->id;
- if (sp->matcopy && mat->nodetree && sp->matcopy->nodetree)
+ if (sp->matcopy && mat->nodetree && sp->matcopy->nodetree) {
ntreeLocalSync(sp->matcopy->nodetree, mat->nodetree);
+ }
}
else if (GS(sp->id->name) == ID_TE) {
Tex *tex = (Tex *)sp->id;
- if (sp->texcopy && tex->nodetree && sp->texcopy->nodetree)
+ if (sp->texcopy && tex->nodetree && sp->texcopy->nodetree) {
ntreeLocalSync(sp->texcopy->nodetree, tex->nodetree);
+ }
}
else if (GS(sp->id->name) == ID_WO) {
World *wrld = (World *)sp->id;
- if (sp->worldcopy && wrld->nodetree && sp->worldcopy->nodetree)
+ if (sp->worldcopy && wrld->nodetree && sp->worldcopy->nodetree) {
ntreeLocalSync(sp->worldcopy->nodetree, wrld->nodetree);
+ }
}
else if (GS(sp->id->name) == ID_LA) {
Light *la = (Light *)sp->id;
- if (sp->lampcopy && la->nodetree && sp->lampcopy->nodetree)
+ if (sp->lampcopy && la->nodetree && sp->lampcopy->nodetree) {
ntreeLocalSync(sp->lampcopy->nodetree, la->nodetree);
+ }
}
}
}
@@ -809,10 +828,12 @@ static void shader_preview_render(ShaderPreview *sp, ID *id, int split, int firs
/* in case of split preview, use border render */
if (split) {
- if (first)
+ if (first) {
sizex = sp->sizex / 2;
- else
+ }
+ else {
sizex = sp->sizex - sp->sizex / 2;
+ }
}
else {
sizex = sp->sizex;
@@ -828,18 +849,22 @@ static void shader_preview_render(ShaderPreview *sp, ID *id, int split, int firs
/* get the stuff from the builtin preview dbase */
sce = preview_prepare_scene(sp->bmain, sp->scene, id_eval, idtype, sp);
- if (sce == NULL)
+ if (sce == NULL) {
return;
+ }
- if (!split || first)
+ if (!split || first) {
sprintf(name, "Preview %p", sp->owner);
- else
+ }
+ else {
sprintf(name, "SecondPreview %p", sp->owner);
+ }
re = RE_GetRender(name);
/* full refreshed render from first tile */
- if (re == NULL)
+ if (re == NULL) {
re = RE_NewRender(name);
+ }
/* sce->r gets copied in RE_InitState! */
sce->r.scemode &= ~(R_MATNODE_PREVIEW | R_TEXNODE_PREVIEW);
@@ -850,10 +875,12 @@ static void shader_preview_render(ShaderPreview *sp, ID *id, int split, int firs
sce->r.mode |= R_OSA;
}
else if (sp->pr_method == PR_NODE_RENDER) {
- if (idtype == ID_MA)
+ if (idtype == ID_MA) {
sce->r.scemode |= R_MATNODE_PREVIEW;
- else if (idtype == ID_TE)
+ }
+ else if (idtype == ID_TE) {
sce->r.scemode |= R_TEXNODE_PREVIEW;
+ }
sce->r.mode &= ~R_OSA;
}
else { /* PR_BUTS_RENDER */
@@ -869,8 +896,9 @@ static void shader_preview_render(ShaderPreview *sp, ID *id, int split, int firs
/* lens adjust */
oldlens = ((Camera *)sce->camera->data)->lens;
- if (sizex > sp->sizey)
+ if (sizex > sp->sizey) {
((Camera *)sce->camera->data)->lens *= (float)sp->sizey / (float)sizex;
+ }
/* entire cycle for render engine */
if (idtype == ID_TE) {
@@ -887,8 +915,9 @@ static void shader_preview_render(ShaderPreview *sp, ID *id, int split, int firs
if (sp->pr_method == PR_ICON_RENDER) {
// char *rct= (char *)(sp->pr_rect + 32*16 + 16);
- if (sp->pr_rect)
+ if (sp->pr_rect) {
RE_ResultGet32(re, sp->pr_rect);
+ }
}
/* unassign the pointers, reset vars */
@@ -914,8 +943,9 @@ static void shader_preview_startjob(void *customdata, short *stop, short *do_upd
shader_preview_render(sp, sp->id, 1, 1);
shader_preview_render(sp, sp->parent, 1, 0);
}
- else
+ else {
shader_preview_render(sp, sp->id, 0, 0);
+ }
*do_update = true;
}
@@ -986,14 +1016,16 @@ static void icon_copy_rect(ImBuf *ibuf, unsigned int w, unsigned int h, unsigned
short ex, ey, dx, dy;
/* paranoia test */
- if (ibuf == NULL || (ibuf->rect == NULL && ibuf->rect_float == NULL))
+ if (ibuf == NULL || (ibuf->rect == NULL && ibuf->rect_float == NULL)) {
return;
+ }
/* waste of cpu cyles... but the imbuf API has no other way to scale fast (ton) */
ima = IMB_dupImBuf(ibuf);
- if (!ima)
+ if (!ima) {
return;
+ }
if (ima->x > ima->y) {
scaledx = (float)w;
@@ -1013,8 +1045,9 @@ static void icon_copy_rect(ImBuf *ibuf, unsigned int w, unsigned int h, unsigned
IMB_scalefastImBuf(ima, ex, ey);
/* if needed, convert to 32 bits */
- if (ima->rect == NULL)
+ if (ima->rect == NULL) {
IMB_rect_from_float(ima);
+ }
srect = ima->rect;
drect = rect;
@@ -1033,8 +1066,9 @@ static void set_alpha(char *cp, int sizex, int sizey, char alpha)
{
int a, size = sizex * sizey;
- for (a = 0; a < size; a++, cp += 4)
+ for (a = 0; a < size; a++, cp += 4) {
cp[3] = alpha;
+ }
}
static void icon_preview_startjob(void *customdata, short *stop, short *do_update)
@@ -1070,8 +1104,9 @@ static void icon_preview_startjob(void *customdata, short *stop, short *do_updat
ImageUser iuser = {NULL};
/* ima->ok is zero when Image cannot load */
- if (ima == NULL || ima->ok == 0)
+ if (ima == NULL || ima->ok == 0) {
return;
+ }
/* setup dummy image user */
iuser.ok = iuser.framenr = 1;
@@ -1099,8 +1134,9 @@ static void icon_preview_startjob(void *customdata, short *stop, short *do_updat
memset(sp->pr_rect, 0x88, sp->sizex * sp->sizey * sizeof(unsigned int));
- if (!(br->icon_imbuf) || !(br->icon_imbuf->rect))
+ if (!(br->icon_imbuf) || !(br->icon_imbuf->rect)) {
return;
+ }
icon_copy_rect(br->icon_imbuf, sp->sizex, sp->sizey, sp->pr_rect);
@@ -1135,10 +1171,12 @@ static void common_preview_startjob(void *customdata,
{
ShaderPreview *sp = customdata;
- if (ELEM(sp->pr_method, PR_ICON_RENDER, PR_ICON_DEFERRED))
+ if (ELEM(sp->pr_method, PR_ICON_RENDER, PR_ICON_DEFERRED)) {
icon_preview_startjob(customdata, stop, do_update);
- else
+ }
+ else {
shader_preview_startjob(customdata, stop, do_update);
+ }
}
/* exported functions */
@@ -1228,8 +1266,9 @@ static void icon_preview_endjob(void *customdata)
if (ip->id) {
- if (GS(ip->id->name) == ID_BR)
+ if (GS(ip->id->name) == ID_BR) {
WM_main_add_notifier(NC_BRUSH | NA_EDITED, ip->id);
+ }
#if 0
if (GS(ip->id->name) == ID_MA) {
Material *ma = (Material *)ip->id;
@@ -1319,8 +1358,9 @@ void ED_preview_icon_job(
/* render all resolutions from suspended job too */
old_ip = WM_jobs_customdata_get(wm_job);
- if (old_ip)
+ if (old_ip) {
BLI_movelisttolist(&ip->sizes, &old_ip->sizes);
+ }
/* customdata for preview thread */
ip->bmain = CTX_data_main(C);
@@ -1433,6 +1473,7 @@ void ED_preview_shader_job(const bContext *C,
void ED_preview_kill_jobs(wmWindowManager *wm, Main *UNUSED(bmain))
{
- if (wm)
+ if (wm) {
WM_jobs_kill(wm, NULL, common_preview_startjob);
+ }
}
diff --git a/source/blender/editors/render/render_shading.c b/source/blender/editors/render/render_shading.c
index 70157abf2ef..3186f011c6a 100644
--- a/source/blender/editors/render/render_shading.c
+++ b/source/blender/editors/render/render_shading.c
@@ -131,8 +131,9 @@ static int material_slot_add_exec(bContext *C, wmOperator *UNUSED(op))
Main *bmain = CTX_data_main(C);
Object *ob = ED_object_context(C);
- if (!ob)
+ if (!ob) {
return OPERATOR_CANCELLED;
+ }
BKE_object_material_slot_add(bmain, ob);
@@ -168,8 +169,9 @@ static int material_slot_remove_exec(bContext *C, wmOperator *op)
{
Object *ob = ED_object_context(C);
- if (!ob)
+ if (!ob) {
return OPERATOR_CANCELLED;
+ }
/* Removing material slots in edit mode screws things up, see bug #21822.*/
if (ob == CTX_data_edit_object(C)) {
@@ -366,10 +368,12 @@ static int material_slot_de_select(bContext *C, bool select)
while (a--) {
if (bp->hide == 0) {
changed = true;
- if (select)
+ if (select) {
bp->f1 |= SELECT;
- else
+ }
+ else {
bp->f1 &= ~SELECT;
+ }
}
bp++;
}
@@ -435,13 +439,15 @@ static int material_slot_copy_exec(bContext *C, wmOperator *UNUSED(op))
Object *ob = ED_object_context(C);
Material ***matar;
- if (!ob || !(matar = give_matarar(ob)))
+ if (!ob || !(matar = give_matarar(ob))) {
return OPERATOR_CANCELLED;
+ }
CTX_DATA_BEGIN (C, Object *, ob_iter, selected_editable_objects) {
if (ob != ob_iter && give_matarar(ob_iter)) {
- if (ob->data != ob_iter->data)
+ if (ob->data != ob_iter->data) {
assign_matarar(bmain, ob_iter, matar, ob->totcol);
+ }
if (ob_iter->totcol == ob->totcol) {
ob_iter->actcol = ob->actcol;
@@ -1026,8 +1032,9 @@ static int render_view_remove_exec(bContext *C, wmOperator *UNUSED(op))
Scene *scene = CTX_data_scene(C);
SceneRenderView *rv = BLI_findlink(&scene->r.views, scene->r.actview);
- if (!BKE_scene_remove_render_view(scene, rv))
+ if (!BKE_scene_remove_render_view(scene, rv)) {
return OPERATOR_CANCELLED;
+ }
WM_event_add_notifier(C, NC_SCENE | ND_RENDER_OPTIONS, scene);
@@ -1544,14 +1551,18 @@ void SCENE_OT_freestyle_geometry_modifier_add(wmOperatorType *ot)
static int freestyle_get_modifier_type(PointerRNA *ptr)
{
- if (RNA_struct_is_a(ptr->type, &RNA_LineStyleColorModifier))
+ if (RNA_struct_is_a(ptr->type, &RNA_LineStyleColorModifier)) {
return LS_MODIFIER_TYPE_COLOR;
- else if (RNA_struct_is_a(ptr->type, &RNA_LineStyleAlphaModifier))
+ }
+ else if (RNA_struct_is_a(ptr->type, &RNA_LineStyleAlphaModifier)) {
return LS_MODIFIER_TYPE_ALPHA;
- else if (RNA_struct_is_a(ptr->type, &RNA_LineStyleThicknessModifier))
+ }
+ else if (RNA_struct_is_a(ptr->type, &RNA_LineStyleThicknessModifier)) {
return LS_MODIFIER_TYPE_THICKNESS;
- else if (RNA_struct_is_a(ptr->type, &RNA_LineStyleGeometryModifier))
+ }
+ else if (RNA_struct_is_a(ptr->type, &RNA_LineStyleGeometryModifier)) {
return LS_MODIFIER_TYPE_GEOMETRY;
+ }
return -1;
}
@@ -1831,8 +1842,9 @@ static int copy_material_exec(bContext *C, wmOperator *UNUSED(op))
{
Material *ma = CTX_data_pointer_get_type(C, "material", &RNA_Material).data;
- if (ma == NULL)
+ if (ma == NULL) {
return OPERATOR_CANCELLED;
+ }
copy_matcopybuf(CTX_data_main(C), ma);
@@ -1858,8 +1870,9 @@ static int paste_material_exec(bContext *C, wmOperator *UNUSED(op))
{
Material *ma = CTX_data_pointer_get_type(C, "material", &RNA_Material).data;
- if (ma == NULL)
+ if (ma == NULL) {
return OPERATOR_CANCELLED;
+ }
paste_matcopybuf(CTX_data_main(C), ma);
@@ -1919,8 +1932,9 @@ static void paste_mtex_copybuf(ID *id)
{
MTex **mtex = NULL;
- if (mtexcopied == 0 || mtexcopybuf.tex == NULL)
+ if (mtexcopied == 0 || mtexcopybuf.tex == NULL) {
return;
+ }
switch (GS(id->name)) {
case ID_PA:
@@ -1999,19 +2013,25 @@ static int paste_mtex_exec(bContext *C, wmOperator *UNUSED(op))
FreestyleLineStyle *linestyle =
CTX_data_pointer_get_type(C, "line_style", &RNA_FreestyleLineStyle).data;
- if (ma)
+ if (ma) {
id = &ma->id;
- else if (la)
+ }
+ else if (la) {
id = &la->id;
- else if (wo)
+ }
+ else if (wo) {
id = &wo->id;
- else if (psys)
+ }
+ else if (psys) {
id = &psys->part->id;
- else if (linestyle)
+ }
+ else if (linestyle) {
id = &linestyle->id;
+ }
- if (id == NULL)
+ if (id == NULL) {
return OPERATOR_CANCELLED;
+ }
}
paste_mtex_copybuf(id);
diff --git a/source/blender/editors/render/render_update.c b/source/blender/editors/render/render_update.c
index dfc7610946a..3f3f98bc6e5 100644
--- a/source/blender/editors/render/render_update.c
+++ b/source/blender/editors/render/render_update.c
@@ -81,16 +81,19 @@ void ED_render_scene_update(const DEGEditorUpdateContext *update_ctx, int update
/* don't do this render engine update if we're updating the scene from
* other threads doing e.g. rendering or baking jobs */
- if (!BLI_thread_is_main())
+ if (!BLI_thread_is_main()) {
return;
+ }
/* don't call this recursively for frame updates */
- if (recursive_check)
+ if (recursive_check) {
return;
+ }
/* Do not call if no WM available, see T42688. */
- if (BLI_listbase_is_empty(&bmain->wm))
+ if (BLI_listbase_is_empty(&bmain->wm)) {
return;
+ }
recursive_check = true;
@@ -160,12 +163,14 @@ void ED_render_engine_area_exit(Main *bmain, ScrArea *sa)
ARegion *ar;
wmWindowManager *wm = bmain->wm.first;
- if (sa->spacetype != SPACE_VIEW3D)
+ if (sa->spacetype != SPACE_VIEW3D) {
return;
+ }
for (ar = sa->regionbase.first; ar; ar = ar->next) {
- if (ar->regiontype != RGN_TYPE_WINDOW || !(ar->regiondata))
+ if (ar->regiontype != RGN_TYPE_WINDOW || !(ar->regiondata)) {
continue;
+ }
ED_view3d_stop_render_preview(wm, ar);
}
}
@@ -237,8 +242,9 @@ static void texture_changed(Main *bmain, Tex *tex)
/* find compositing nodes */
if (scene->use_nodes && scene->nodetree) {
for (node = scene->nodetree->nodes.first; node; node = node->next) {
- if (node->id == &tex->id)
+ if (node->id == &tex->id) {
ED_node_tag_update_id(&scene->id);
+ }
}
}
}
@@ -258,9 +264,11 @@ static void image_changed(Main *bmain, Image *ima)
BKE_icon_changed(BKE_icon_id_ensure(&ima->id));
/* textures */
- for (tex = bmain->textures.first; tex; tex = tex->id.next)
- if (tex->ima == ima)
+ for (tex = bmain->textures.first; tex; tex = tex->id.next) {
+ if (tex->ima == ima) {
texture_changed(bmain, tex);
+ }
+ }
}
static void scene_changed(Main *bmain, Scene *scene)
diff --git a/source/blender/editors/render/render_view.c b/source/blender/editors/render/render_view.c
index 258e98977c7..cd5edcdc3f4 100644
--- a/source/blender/editors/render/render_view.c
+++ b/source/blender/editors/render/render_view.c
@@ -92,12 +92,14 @@ static ScrArea *find_area_showing_r_result(bContext *C, Scene *scene, wmWindow *
for (sa = screen->areabase.first; sa; sa = sa->next) {
if (sa->spacetype == SPACE_IMAGE) {
sima = sa->spacedata.first;
- if (sima->image && sima->image->type == IMA_TYPE_R_RESULT)
+ if (sima->image && sima->image->type == IMA_TYPE_R_RESULT) {
break;
+ }
}
}
- if (sa)
+ if (sa) {
break;
+ }
}
}
@@ -114,8 +116,9 @@ static ScrArea *find_area_image_empty(bContext *C)
for (sa = sc->areabase.first; sa; sa = sa->next) {
if (sa->spacetype == SPACE_IMAGE) {
sima = sa->spacedata.first;
- if (!sima->image)
+ if (!sima->image) {
break;
+ }
}
}
@@ -134,18 +137,21 @@ ScrArea *render_view_open(bContext *C, int mx, int my, ReportList *reports)
SpaceImage *sima;
bool area_was_image = false;
- if (scene->r.displaymode == R_OUTPUT_NONE)
+ if (scene->r.displaymode == R_OUTPUT_NONE) {
return NULL;
+ }
if (scene->r.displaymode == R_OUTPUT_WINDOW) {
int sizex = 30 * UI_DPI_FAC + (scene->r.xsch * scene->r.size) / 100;
int sizey = 60 * UI_DPI_FAC + (scene->r.ysch * scene->r.size) / 100;
/* arbitrary... miniature image window views don't make much sense */
- if (sizex < 320)
+ if (sizex < 320) {
sizex = 320;
- if (sizey < 256)
+ }
+ if (sizey < 256) {
sizey = 256;
+ }
/* changes context! */
if (WM_window_open_temp(C, mx, my, sizex, sizey, WM_WINDOW_RENDER) == NULL) {
@@ -164,8 +170,9 @@ ScrArea *render_view_open(bContext *C, int mx, int my, ReportList *reports)
sa = NULL;
}
else {
- if (sa && sa->spacetype == SPACE_IMAGE)
+ if (sa && sa->spacetype == SPACE_IMAGE) {
area_was_image = true;
+ }
/* this function returns with changed context */
sa = ED_screen_full_newspace(C, sa, SPACE_IMAGE);
@@ -174,12 +181,14 @@ ScrArea *render_view_open(bContext *C, int mx, int my, ReportList *reports)
if (!sa) {
sa = find_area_showing_r_result(C, scene, &win);
- if (sa == NULL)
+ if (sa == NULL) {
sa = find_area_image_empty(C);
+ }
/* if area found in other window, we make that one show in front */
- if (win && win != CTX_wm_window(C))
+ if (win && win != CTX_wm_window(C)) {
wm_window_raise(win);
+ }
if (sa == NULL) {
/* find largest open non-image area */
@@ -221,8 +230,9 @@ ScrArea *render_view_open(bContext *C, int mx, int my, ReportList *reports)
/* Tell the image editor to revert to previous space in space list on close
* _only_ if it wasn't already an image editor when the render was invoked */
- if (area_was_image == 0)
+ if (area_was_image == 0) {
sima->flag |= SI_PREVSPACE;
+ }
else {
/* Leave it alone so the image editor will just go back from
* full screen to the original tiled setup */