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:
authorAaron Carlisle <carlisle.b3d@gmail.com>2020-11-06 18:10:18 +0300
committerAaron Carlisle <carlisle.b3d@gmail.com>2020-11-06 18:10:41 +0300
commite15076b22f4f015404b3140d8169734cce80407c (patch)
tree19c218f3c128ca34417dd2b844f90b30b6483084 /source/blender/render/extern/include/RE_pipeline.h
parent235c309e5f86e84fb08e1ff2c5c11eb0b775c388 (diff)
Cleanup: Render Module: move header files to main directory
Move headers files from `render/extern/` to `render/` Part of T73586
Diffstat (limited to 'source/blender/render/extern/include/RE_pipeline.h')
-rw-r--r--source/blender/render/extern/include/RE_pipeline.h392
1 files changed, 0 insertions, 392 deletions
diff --git a/source/blender/render/extern/include/RE_pipeline.h b/source/blender/render/extern/include/RE_pipeline.h
deleted file mode 100644
index 4dd2b300700..00000000000
--- a/source/blender/render/extern/include/RE_pipeline.h
+++ /dev/null
@@ -1,392 +0,0 @@
-/*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is Copyright (C) 2006 Blender Foundation.
- * All rights reserved.
- */
-
-/** \file
- * \ingroup render
- */
-
-#pragma once
-
-#include "DEG_depsgraph.h"
-#include "DNA_listBase.h"
-#include "DNA_vec_types.h"
-
-struct Image;
-struct ImageFormatData;
-struct Main;
-struct Object;
-struct RenderData;
-struct RenderResult;
-struct ReportList;
-struct Scene;
-struct StampData;
-struct ViewLayer;
-struct bMovieHandle;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
-/* this include is what is exposed of render to outside world */
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
-
-/* length of the scene name + passname */
-#define RE_MAXNAME ((MAX_ID_NAME - 2) + 10)
-
-/* only used as handle */
-typedef struct Render Render;
-
-/* Render Result usage:
- *
- * - render engine allocates/frees and delivers raw floating point rects
- * - right now it's full rects, but might become tiles or file
- * - the display client has to allocate display rects, sort out what to display,
- * and how it's converted
- */
-
-typedef struct RenderView {
- struct RenderView *next, *prev;
- char name[64]; /* EXR_VIEW_MAXNAME */
-
- /* if this exists, result of composited layers */
- float *rectf;
- /* if this exists, result of composited layers */
- float *rectz;
- /* optional, 32 bits version of picture, used for sequencer, ogl render and image curves */
- int *rect32;
-
-} RenderView;
-
-typedef struct RenderPass {
- struct RenderPass *next, *prev;
- int channels;
- char name[64]; /* amount defined in openexr_multi.h */
- char chan_id[8]; /* amount defined in openexr_multi.h */
- float *rect;
- int rectx, recty;
-
- char fullname[64]; /* EXR_PASS_MAXNAME */
- char view[64]; /* EXR_VIEW_MAXNAME */
- int view_id; /* quick lookup */
-
- int pad;
-} RenderPass;
-
-/* a renderlayer is a full image, but with all passes and samples */
-/* size of the rects is defined in RenderResult */
-/* after render, the Combined pass is in combined,
- * for renderlayers read from files it is a real pass */
-typedef struct RenderLayer {
- struct RenderLayer *next, *prev;
-
- /** copy of RenderData */
- char name[RE_MAXNAME];
- int layflag, passflag, pass_xor;
-
- int rectx, recty;
-
- /** Optional saved endresult on disk. */
- void *exrhandle;
-
- ListBase passes;
-
-} RenderLayer;
-
-typedef struct RenderResult {
- struct RenderResult *next, *prev;
-
- /* target image size */
- int rectx, recty;
- short crop, sample_nr;
-
- /* The following rect32, rectf and rectz buffers are for temporary storage only,
- * for RenderResult structs created in #RE_AcquireResultImage - which do not have RenderView */
-
- /* optional, 32 bits version of picture, used for ogl render and image curves */
- int *rect32;
- /* if this exists, a copy of one of layers, or result of composited layers */
- float *rectf;
- /* if this exists, a copy of one of layers, or result of composited layers */
- float *rectz;
-
- /* coordinates within final image (after cropping) */
- rcti tilerect;
- /* offset to apply to get a border render in full image */
- int xof, yof;
-
- /* the main buffers */
- ListBase layers;
-
- /* multiView maps to a StringVector in OpenEXR */
- ListBase views; /* RenderView */
-
- /* allowing live updates: */
- volatile rcti renrect;
- volatile RenderLayer *renlay;
-
- /* optional saved endresult on disk */
- int do_exr_tile;
-
- /* for render results in Image, verify validity for sequences */
- int framenr;
-
- /* for acquire image, to indicate if it there is a combined layer */
- int have_combined;
-
- /* render info text */
- char *text;
- char *error;
-
- struct StampData *stamp_data;
-} RenderResult;
-
-typedef struct RenderStats {
- int cfra;
- bool localview;
- double starttime, lastframetime;
- const char *infostr, *statstr;
- char scene_name[MAX_ID_NAME - 2];
- float mem_used, mem_peak;
-} RenderStats;
-
-/* *********************** API ******************** */
-
-/* the name is used as identifier, so elsewhere in blender the result can retrieved */
-/* calling a new render with same name, frees automatic existing render */
-struct Render *RE_NewRender(const char *name);
-struct Render *RE_GetRender(const char *name);
-
-struct Scene;
-struct Render *RE_NewSceneRender(const struct Scene *scene);
-struct Render *RE_GetSceneRender(const struct Scene *scene);
-
-/* assign default dummy callbacks */
-void RE_InitRenderCB(struct Render *re);
-
-/* use free render as signal to do everything over (previews) */
-void RE_FreeRender(struct Render *re);
-/* only called on exit */
-void RE_FreeAllRender(void);
-/* Free memory used by persistent data.
- * Invoked when loading new file.
- */
-void RE_FreeAllPersistentData(void);
-/* only call on file load */
-void RE_FreeAllRenderResults(void);
-/* for external render engines that can keep persistent data */
-void RE_FreePersistentData(void);
-
-/* get results and statistics */
-void RE_FreeRenderResult(struct RenderResult *rr);
-struct RenderResult *RE_AcquireResultRead(struct Render *re);
-struct RenderResult *RE_AcquireResultWrite(struct Render *re);
-void RE_ReleaseResult(struct Render *re);
-void RE_AcquireResultImageViews(struct Render *re, struct RenderResult *rr);
-void RE_ReleaseResultImageViews(struct Render *re, struct RenderResult *rr);
-void RE_AcquireResultImage(struct Render *re, struct RenderResult *rr, const int view_id);
-void RE_ReleaseResultImage(struct Render *re);
-void RE_SwapResult(struct Render *re, struct RenderResult **rr);
-void RE_ClearResult(struct Render *re);
-struct RenderStats *RE_GetStats(struct Render *re);
-
-void RE_ResultGet32(struct Render *re, unsigned int *rect);
-void RE_AcquiredResultGet32(struct Render *re,
- struct RenderResult *result,
- unsigned int *rect,
- const int view_id);
-
-void RE_render_result_rect_from_ibuf(struct RenderResult *rr,
- struct RenderData *rd,
- struct ImBuf *ibuf,
- const int view_id);
-
-struct RenderLayer *RE_GetRenderLayer(struct RenderResult *rr, const char *name);
-float *RE_RenderLayerGetPass(volatile struct RenderLayer *rl,
- const char *name,
- const char *viewname);
-
-bool RE_HasSingleLayer(struct Render *re);
-
-/* add passes for grease pencil */
-struct RenderPass *RE_create_gp_pass(struct RenderResult *rr,
- const char *layername,
- const char *viewname);
-
-void RE_create_render_pass(struct RenderResult *rr,
- const char *name,
- int channels,
- const char *chan_id,
- const char *layername,
- const char *viewname);
-
-/* obligatory initialize call, disprect is optional */
-void RE_InitState(struct Render *re,
- struct Render *source,
- struct RenderData *rd,
- struct ListBase *render_layers,
- struct ViewLayer *single_layer,
- 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 */
-void RE_SetOverrideCamera(struct Render *re, struct Object *cam_ob);
-void RE_SetCamera(struct Render *re, struct Object *cam_ob);
-void RE_SetWindow(struct Render *re, const rctf *viewplane, float clip_start, float clip_end);
-void RE_SetOrtho(struct Render *re, const rctf *viewplane, float clip_start, float clip_end);
-
-/* get current view and window transform */
-void RE_GetViewPlane(struct Render *re, rctf *r_viewplane, rcti *r_disprect);
-
-/* set the render threads based on the command-line and autothreads setting */
-void RE_init_threadcount(Render *re);
-
-bool RE_WriteRenderViewsImage(struct ReportList *reports,
- struct RenderResult *rr,
- struct Scene *scene,
- const bool stamp,
- char *name);
-bool RE_WriteRenderViewsMovie(struct ReportList *reports,
- struct RenderResult *rr,
- struct Scene *scene,
- struct RenderData *rd,
- struct bMovieHandle *mh,
- void **movie_ctx_arr,
- const int totvideos,
- bool preview);
-
-/* only RE_NewRender() needed, main Blender render calls */
-void RE_RenderFrame(struct Render *re,
- struct Main *bmain,
- struct Scene *scene,
- struct ViewLayer *single_layer,
- struct Object *camera_override,
- int frame,
- const bool write_still);
-void RE_RenderAnim(struct Render *re,
- struct Main *bmain,
- struct Scene *scene,
- struct ViewLayer *single_layer,
- struct Object *camera_override,
- int sfra,
- int efra,
- int tfra);
-#ifdef WITH_FREESTYLE
-void RE_RenderFreestyleStrokes(struct Render *re,
- struct Main *bmain,
- struct Scene *scene,
- int render);
-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);
-
-/* error reporting */
-void RE_SetReports(struct Render *re, struct ReportList *reports);
-
-/* main preview render call */
-void RE_PreviewRender(struct Render *re, struct Main *bmain, struct Scene *scene);
-
-bool RE_ReadRenderResult(struct Scene *scene, struct Scene *scenode);
-bool RE_WriteRenderResult(struct ReportList *reports,
- RenderResult *rr,
- const char *filename,
- struct ImageFormatData *imf,
- const char *view,
- int layer);
-struct RenderResult *RE_MultilayerConvert(
- void *exrhandle, const char *colorspace, bool predivide, int rectx, int recty);
-
-/* display and event callbacks */
-void RE_display_init_cb(struct Render *re,
- void *handle,
- void (*f)(void *handle, RenderResult *rr));
-void RE_display_clear_cb(struct Render *re,
- void *handle,
- void (*f)(void *handle, RenderResult *rr));
-void RE_display_update_cb(struct Render *re,
- void *handle,
- void (*f)(void *handle, RenderResult *rr, volatile struct rcti *rect));
-void RE_stats_draw_cb(struct Render *re, void *handle, void (*f)(void *handle, RenderStats *rs));
-void RE_progress_cb(struct Render *re, void *handle, void (*f)(void *handle, float));
-void RE_draw_lock_cb(struct Render *re, void *handle, void (*f)(void *handle, int));
-void RE_test_break_cb(struct Render *re, void *handle, int (*f)(void *handle));
-void RE_current_scene_update_cb(struct Render *re,
- void *handle,
- void (*f)(void *handle, struct Scene *scene));
-
-void RE_gl_context_create(Render *re);
-void RE_gl_context_destroy(Render *re);
-void *RE_gl_context_get(Render *re);
-void *RE_gpu_context_get(Render *re);
-
-/* should move to kernel once... still unsure on how/where */
-float RE_filter_value(int type, float x);
-
-int RE_seq_render_active(struct Scene *scene, struct RenderData *rd);
-
-bool RE_layers_have_name(struct RenderResult *result);
-bool RE_passes_have_name(struct RenderLayer *rl);
-
-struct RenderPass *RE_pass_find_by_name(volatile struct RenderLayer *rl,
- const char *name,
- const char *viewname);
-struct RenderPass *RE_pass_find_by_type(volatile struct RenderLayer *rl,
- int passtype,
- const char *viewname);
-
-/* shaded view or baking options */
-#define RE_BAKE_NORMALS 0
-#define RE_BAKE_DISPLACEMENT 1
-#define RE_BAKE_AO 2
-
-void RE_GetCameraWindow(struct Render *re, struct Object *camera, float mat[4][4]);
-void RE_GetCameraWindowWithOverscan(struct Render *re, float overscan, float r_winmat[4][4]);
-void RE_GetCameraModelMatrix(struct Render *re, struct Object *camera, float r_modelmat[4][4]);
-struct Scene *RE_GetScene(struct Render *re);
-void RE_SetScene(struct Render *re, struct Scene *sce);
-
-bool RE_is_rendering_allowed(struct Scene *scene,
- struct ViewLayer *single_layer,
- struct Object *camera_override,
- struct ReportList *reports);
-
-bool RE_allow_render_generic_object(struct Object *ob);
-
-/******* defined in render_result.c *********/
-
-bool RE_HasCombinedLayer(RenderResult *res);
-bool RE_HasFloatPixels(RenderResult *res);
-bool RE_RenderResult_is_stereo(RenderResult *res);
-struct RenderView *RE_RenderViewGetById(struct RenderResult *rr, const int view_id);
-struct RenderView *RE_RenderViewGetByName(struct RenderResult *rr, const char *viewname);
-
-RenderResult *RE_DuplicateRenderResult(RenderResult *rr);
-
-#ifdef __cplusplus
-}
-#endif