Commit: 945b1143df1686f705fd8bf2ff05d04460aa52fa
Author: Brecht Van Lommel
Date:   Thu Apr 8 13:08:59 2021 +0200
Branches: master
https://developer.blender.org/rB945b1143df1686f705fd8bf2ff05d04460aa52fa

Cleanup: renaming, comments and removing unused code in render pipeline

===================================================================

M       source/blender/render/RE_pipeline.h
M       source/blender/render/intern/pipeline.c

===================================================================

diff --git a/source/blender/render/RE_pipeline.h 
b/source/blender/render/RE_pipeline.h
index 7420ee64a81..4534c86f7f7 100644
--- a/source/blender/render/RE_pipeline.h
+++ b/source/blender/render/RE_pipeline.h
@@ -245,8 +245,6 @@ void RE_InitState(struct Render *re,
                   int winx,
                   int winy,
                   rcti *disprect);
-void RE_ChangeResolution(struct Render *re, int winx, int winy, rcti 
*disprect);
-void RE_ChangeModeFlag(struct Render *re, int flag, bool clear);
 
 /* set up the viewplane/perspective matrix, three choices */
 struct Object *RE_GetCamera(struct Render *re); /* return camera override if 
set */
@@ -297,9 +295,6 @@ void RE_RenderFreestyleStrokes(struct Render *re,
 void RE_RenderFreestyleExternal(struct Render *re);
 #endif
 
-/* Free memory and clear runtime data which is only needed during rendering. */
-void RE_CleanAfterRender(struct Render *re);
-
 void RE_SetActiveRenderView(struct Render *re, const char *viewname);
 const char *RE_GetActiveRenderView(struct Render *re);
 
diff --git a/source/blender/render/intern/pipeline.c 
b/source/blender/render/intern/pipeline.c
index 1fcfac8c9dd..a39214b609d 100644
--- a/source/blender/render/intern/pipeline.c
+++ b/source/blender/render/intern/pipeline.c
@@ -741,7 +741,7 @@ static void re_init_resolution(Render *re, Render *source, 
int winx, int winy, r
   re->winy = winy;
   if (source && (source->r.mode & R_BORDER)) {
     /* eeh, doesn't seem original bordered disprect is storing anywhere
-     * after insertion on black happening in do_render(),
+     * after insertion on black happening in do_render_engine(),
      * so for now simply re-calculate disprect using border from source
      * renderer (sergey)
      */
@@ -893,82 +893,6 @@ void RE_InitState(Render *re,
   RE_point_density_fix_linking();
 }
 
-/* This function is only called by view3d rendering, which doesn't support
- * multiview at the moment. so handle only one view here */
-static void render_result_rescale(Render *re)
-{
-  RenderResult *result = re->result;
-  RenderView *rv;
-  int x, y;
-  float scale_x, scale_y;
-  float *src_rectf;
-
-  rv = RE_RenderViewGetById(result, 0);
-  src_rectf = rv->rectf;
-
-  if (src_rectf == NULL) {
-    RenderLayer *rl = render_get_active_layer(re, re->result);
-    if (rl != NULL) {
-      src_rectf = RE_RenderLayerGetPass(rl, RE_PASSNAME_COMBINED, NULL);
-    }
-  }
-
-  if (src_rectf != NULL) {
-    float *dst_rectf = NULL;
-    re->result = render_result_new(re, &re->disprect, RR_USE_MEM, 
RR_ALL_LAYERS, "");
-
-    if (re->result != NULL) {
-      dst_rectf = RE_RenderViewGetById(re->result, 0)->rectf;
-      if (dst_rectf == NULL) {
-        RenderLayer *rl;
-        rl = render_get_active_layer(re, re->result);
-        if (rl != NULL) {
-          dst_rectf = RE_RenderLayerGetPass(rl, RE_PASSNAME_COMBINED, NULL);
-        }
-      }
-
-      scale_x = (float)result->rectx / re->result->rectx;
-      scale_y = (float)result->recty / re->result->recty;
-      for (x = 0; x < re->result->rectx; x++) {
-        for (y = 0; y < re->result->recty; y++) {
-          int src_x = x * scale_x;
-          int src_y = y * scale_y;
-          int dst_index = y * re->result->rectx + x;
-          int src_index = src_y * result->rectx + src_x;
-          copy_v4_v4(dst_rectf + dst_index * 4, src_rectf + src_index * 4);
-        }
-      }
-    }
-    render_result_free(result);
-  }
-}
-
-void RE_ChangeResolution(Render *re, int winx, int winy, rcti *disprect)
-{
-  re_init_resolution(re, NULL, winx, winy, disprect);
-  RE_parts_clamp(re);
-
-  if (re->result) {
-    BLI_rw_mutex_lock(&re->resultmutex, THREAD_LOCK_WRITE);
-    render_result_rescale(re);
-    BLI_rw_mutex_unlock(&re->resultmutex);
-  }
-}
-
-/* TODO(sergey): This is a bit hackish, used to temporary disable freestyle 
when
- * doing viewport render. Needs some better integration of BI viewport 
rendering
- * into the pipeline.
- */
-void RE_ChangeModeFlag(Render *re, int flag, bool clear)
-{
-  if (clear) {
-    re->r.mode &= ~flag;
-  }
-  else {
-    re->r.mode |= flag;
-  }
-}
-
 /* update some variables that can be animated, and otherwise wouldn't be due to
  * RenderData getting copied once at the start of animation render */
 void render_update_anim_renderdata(Render *re, RenderData *rd, ListBase 
*render_layers)
@@ -1077,24 +1001,8 @@ void *RE_gpu_context_get(Render *re)
   return re->gpu_context;
 }
 
-/* ********* add object data (later) ******** */
-
-/* object is considered fully prepared on correct time etc */
-/* includes lights */
-#if 0
-void RE_AddObject(Render *UNUSED(re), Object *UNUSED(ob))
-{
-}
-#endif
-
 /* ************  This part uses API, for rendering Blender scenes ********** */
 
-static void do_render_3d(Render *re)
-{
-  re->current_scene_update(re->suh, re->scene);
-  RE_engine_render(re, false);
-}
-
 /* make sure disprect is not affected by the render border */
 static void render_result_disprect_to_full_resolution(Render *re)
 {
@@ -1155,8 +1063,8 @@ static void render_result_uncrop(Render *re)
   }
 }
 
-/* main render routine, no compositing */
-static void do_render(Render *re)
+/* Render scene into render result, with a render engine. */
+static void do_render_engine(Render *re)
 {
   Object *camera = RE_GetCamera(re);
   /* also check for camera here */
@@ -1169,16 +1077,16 @@ static void do_render(Render *re)
   /* now use renderdata and camera to set viewplane */
   RE_SetCamera(re, camera);
 
-  do_render_3d(re);
+  re->current_scene_update(re->suh, re->scene);
+  RE_engine_render(re, false);
 
   /* when border render, check if we have to insert it in black */
   render_result_uncrop(re);
 }
 
-/* within context of current Render *re, render another scene.
- * it uses current render image size and disprect, but doesn't execute 
composite
- */
-static void render_scene(Render *re, Scene *sce, int cfra)
+/* Render scene into render result, within a compositor node tree.
+ * Uses the same image dimensions, does not recursively perform compositing. */
+static void do_render_compositor_scene(Render *re, Scene *sce, int cfra)
 {
   Render *resc = RE_NewSceneRender(sce);
   int winx = re->winx, winy = re->winy;
@@ -1213,12 +1121,12 @@ static void render_scene(Render *re, Scene *sce, int 
cfra)
   resc->current_scene_update = re->current_scene_update;
   resc->suh = re->suh;
 
-  do_render(resc);
+  do_render_engine(resc);
 }
 
 /* helper call to detect if this scene needs a render,
  * or if there's a any render layer to render. */
-static int composite_needs_render(Scene *sce, int this_scene)
+static int compositor_needs_render(Scene *sce, int this_scene)
 {
   bNodeTree *ntree = sce->nodetree;
   bNode *node;
@@ -1243,19 +1151,8 @@ static int composite_needs_render(Scene *sce, int 
this_scene)
   return 0;
 }
 
-bool RE_allow_render_generic_object(Object *ob)
-{
-  /* override not showing object when duplis are used with particles */
-  if (ob->transflag & OB_DUPLIPARTS) {
-    /* pass */ /* let particle system(s) handle showing vs. not showing */
-  }
-  else if (ob->transflag & OB_DUPLI) {
-    return false;
-  }
-  return true;
-}
-
-static void ntree_render_scenes(Render *re)
+/* Render all scenes within a compositor node tree. */
+static void do_render_compositor_scenes(Render *re)
 {
   bNode *node;
   int cfra = re->scene->r.cfra;
@@ -1274,7 +1171,7 @@ static void ntree_render_scenes(Render *re)
         Scene *scene = (Scene *)node->id;
         if (!BLI_gset_haskey(scenes_rendered, scene) &&
             render_scene_has_layers_to_render(scene, false)) {
-          render_scene(re, scene, cfra);
+          do_render_compositor_scene(re, scene, cfra);
           BLI_gset_add(scenes_rendered, scene);
           nodeUpdate(restore_scene->nodetree, node);
         }
@@ -1285,7 +1182,7 @@ static void ntree_render_scenes(Render *re)
 }
 
 /* bad call... need to think over proper method still */
-static void render_composit_stats(void *arg, const char *str)
+static void render_compositor_stats(void *arg, const char *str)
 {
   Render *re = (Render *)arg;
 
@@ -1295,13 +1192,14 @@ static void render_composit_stats(void *arg, const char 
*str)
   re->stats_draw(re->sdh, &i);
 }
 
-/* returns fully composited render-result on given time step (in RenderData) */
-static void do_render_composite(Render *re)
+/* Render compositor nodes, along with any scenes required for them.
+ * The result will be output into a compositing render layer in the render 
result. */
+static void do_render_compositor(Render *re)
 {
   bNodeTree *ntree = re->pipeline_scene_eval->nodetree;
   int update_newframe = 0;
 
-  if (composite_needs_render(re->pipeline_scene_eval, 1)) {
+  if (compositor_needs_render(re->pipeline_scene_eval, 1)) {
     /* save memory... free all cached images */
     ntreeFreeCache(ntree);
 
@@ -1309,7 +1207,7 @@ static void do_render_composite(Render *re)
      * it could be optimized to render only the needed view
      * but what if a scene has a different number of views
      * than the main scene? */
-    do_render(re);
+    do_render_engine(re);
   }
   else {
     re->i.cfra = re->r.cfra;
@@ -1345,11 +1243,11 @@ static void do_render_composite(Render *re)
     if (ntree && re->scene->use_nodes && re->r.scemode & R_DOCOMP) {
       /* checks if there are render-result nodes that need scene */
       if ((re->r.scemode & R_SINGLE_LAYER) == 0) {
-        ntree_render_scenes(re);
+        do_render_compositor_scenes(re);
       }
 
       if (!re->test_break(re->tbh)) {
-        ntree->stats_draw = render_composit_stats;
+        ntree->stats_draw = render_compositor_stats;
         ntree->test_break = re->test_break;
         ntree->progress = re->progress;
         ntree->sdh = re;
@@ -1432,7 +1330,8 @@ int RE_seq_render_active(Scene *scene, RenderData *rd)
   return 0;
 }
 
-static void do_render_seq(Render *re)
+/* Render sequencer strips into render result. */
+static void do_render_sequencer(Render *re)
 {
   static int recurs_depth = 0;
   struct ImBuf *out;
@@ -1546,8 +1445,8 @@ static void do_render_seq(Render *re)
 
 /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
 
-/* main loop: doing sequence + 3d render + compositing */
-static void do_rende

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to