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:
authorCampbell Barton <ideasman42@gmail.com>2019-04-17 07:17:24 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-04-17 07:21:24 +0300
commite12c08e8d170b7ca40f204a5b0423c23a9fbc2c1 (patch)
tree8cf3453d12edb177a218ef8009357518ec6cab6a /source/blender/render/extern
parentb3dabc200a4b0399ec6b81f2ff2730d07b44fcaa (diff)
ClangFormat: apply to source, most of intern
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
Diffstat (limited to 'source/blender/render/extern')
-rw-r--r--source/blender/render/extern/include/RE_bake.h101
-rw-r--r--source/blender/render/extern/include/RE_engine.h193
-rw-r--r--source/blender/render/extern/include/RE_multires_bake.h48
-rw-r--r--source/blender/render/extern/include/RE_pipeline.h290
-rw-r--r--source/blender/render/extern/include/RE_render_ext.h39
-rw-r--r--source/blender/render/extern/include/RE_shader_ext.h33
6 files changed, 418 insertions, 286 deletions
diff --git a/source/blender/render/extern/include/RE_bake.h b/source/blender/render/extern/include/RE_bake.h
index f04f689d114..372defbe8db 100644
--- a/source/blender/render/extern/include/RE_bake.h
+++ b/source/blender/render/extern/include/RE_bake.h
@@ -30,68 +30,93 @@ struct Mesh;
struct Render;
typedef struct BakeImage {
- struct Image *image;
- int width;
- int height;
- size_t offset;
+ struct Image *image;
+ int width;
+ int height;
+ size_t offset;
} BakeImage;
typedef struct BakeImages {
- BakeImage *data; /* all the images of an object */
- int *lookup; /* lookup table from Material to BakeImage */
- int size;
+ BakeImage *data; /* all the images of an object */
+ int *lookup; /* lookup table from Material to BakeImage */
+ int size;
} BakeImages;
typedef struct BakePixel {
- int primitive_id, object_id;
- float uv[2];
- float du_dx, du_dy;
- float dv_dx, dv_dy;
+ int primitive_id, object_id;
+ float uv[2];
+ float du_dx, du_dy;
+ float dv_dx, dv_dy;
} BakePixel;
typedef struct BakeHighPolyData {
- struct Object *ob;
- struct Object *ob_eval;
- struct Mesh *me;
- bool is_flip_object;
+ struct Object *ob;
+ struct Object *ob_eval;
+ struct Mesh *me;
+ bool is_flip_object;
- float obmat[4][4];
- float imat[4][4];
+ float obmat[4][4];
+ float imat[4][4];
} BakeHighPolyData;
/* external_engine.c */
bool RE_bake_has_engine(struct Render *re);
-bool RE_bake_engine(
- struct Render *re, struct Depsgraph *depsgraph, struct Object *object, const int object_id, const BakePixel pixel_array[],
- const size_t num_pixels, const int depth, const eScenePassType pass_type, const int pass_filter, float result[]);
+bool RE_bake_engine(struct Render *re,
+ struct Depsgraph *depsgraph,
+ struct Object *object,
+ const int object_id,
+ const BakePixel pixel_array[],
+ const size_t num_pixels,
+ const int depth,
+ const eScenePassType pass_type,
+ const int pass_filter,
+ float result[]);
/* bake.c */
int RE_pass_depth(const eScenePassType pass_type);
-bool RE_bake_pixels_populate_from_objects(
- struct Mesh *me_low, BakePixel pixel_array_from[], BakePixel pixel_array_to[],
- BakeHighPolyData highpoly[], const int tot_highpoly, const size_t num_pixels, const bool is_custom_cage,
- const float cage_extrusion, float mat_low[4][4], float mat_cage[4][4], struct Mesh *me_cage);
-
-void RE_bake_pixels_populate(
- struct Mesh *me, struct BakePixel *pixel_array,
- const size_t num_pixels, const struct BakeImages *bake_images, const char *uv_layer);
+bool RE_bake_pixels_populate_from_objects(struct Mesh *me_low,
+ BakePixel pixel_array_from[],
+ BakePixel pixel_array_to[],
+ BakeHighPolyData highpoly[],
+ const int tot_highpoly,
+ const size_t num_pixels,
+ const bool is_custom_cage,
+ const float cage_extrusion,
+ float mat_low[4][4],
+ float mat_cage[4][4],
+ struct Mesh *me_cage);
+
+void RE_bake_pixels_populate(struct Mesh *me,
+ struct BakePixel *pixel_array,
+ const size_t num_pixels,
+ const struct BakeImages *bake_images,
+ const char *uv_layer);
void RE_bake_mask_fill(const BakePixel pixel_array[], const size_t num_pixels, char *mask);
void RE_bake_margin(struct ImBuf *ibuf, char *mask, const int margin);
-void RE_bake_normal_world_to_object(
- const BakePixel pixel_array[], const size_t num_pixels, const int depth, float result[],
- struct Object *ob, const eBakeNormalSwizzle normal_swizzle[3]);
-void RE_bake_normal_world_to_tangent(
- const BakePixel pixel_array[], const size_t num_pixels, const int depth, float result[],
- struct Mesh *me, const eBakeNormalSwizzle normal_swizzle[3], float mat[4][4]);
-void RE_bake_normal_world_to_world(
- const BakePixel pixel_array[], const size_t num_pixels, const int depth, float result[],
- const eBakeNormalSwizzle normal_swizzle[3]);
+void RE_bake_normal_world_to_object(const BakePixel pixel_array[],
+ const size_t num_pixels,
+ const int depth,
+ float result[],
+ struct Object *ob,
+ const eBakeNormalSwizzle normal_swizzle[3]);
+void RE_bake_normal_world_to_tangent(const BakePixel pixel_array[],
+ const size_t num_pixels,
+ const int depth,
+ float result[],
+ struct Mesh *me,
+ const eBakeNormalSwizzle normal_swizzle[3],
+ float mat[4][4]);
+void RE_bake_normal_world_to_world(const BakePixel pixel_array[],
+ const size_t num_pixels,
+ const int depth,
+ float result[],
+ const eBakeNormalSwizzle normal_swizzle[3]);
void RE_bake_ibuf_clear(struct Image *image, const bool is_tangent);
-#endif /* __RE_BAKE_H__ */
+#endif /* __RE_BAKE_H__ */
diff --git a/source/blender/render/extern/include/RE_engine.h b/source/blender/render/extern/include/RE_engine.h
index d22ab6d782d..1092ab553e9 100644
--- a/source/blender/render/extern/include/RE_engine.h
+++ b/source/blender/render/extern/include/RE_engine.h
@@ -51,107 +51,139 @@ struct bNodeTree;
/* External Engine */
/* RenderEngineType.flag */
-#define RE_INTERNAL 1
-/* #define RE_FLAG_DEPRECATED 2 */
-#define RE_USE_PREVIEW 4
-#define RE_USE_POSTPROCESS 8
-#define RE_USE_SHADING_NODES 16
-#define RE_USE_EXCLUDE_LAYERS 32
-#define RE_USE_SAVE_BUFFERS 64
-#define RE_USE_SHADING_NODES_CUSTOM 256
+#define RE_INTERNAL 1
+/* #define RE_FLAG_DEPRECATED 2 */
+#define RE_USE_PREVIEW 4
+#define RE_USE_POSTPROCESS 8
+#define RE_USE_SHADING_NODES 16
+#define RE_USE_EXCLUDE_LAYERS 32
+#define RE_USE_SAVE_BUFFERS 64
+#define RE_USE_SHADING_NODES_CUSTOM 256
#define RE_USE_SPHERICAL_STEREO 512
/* RenderEngine.flag */
-#define RE_ENGINE_ANIMATION 1
-#define RE_ENGINE_PREVIEW 2
-#define RE_ENGINE_DO_DRAW 4
-#define RE_ENGINE_DO_UPDATE 8
-#define RE_ENGINE_RENDERING 16
-#define RE_ENGINE_HIGHLIGHT_TILES 32
-#define RE_ENGINE_USED_FOR_VIEWPORT 64
+#define RE_ENGINE_ANIMATION 1
+#define RE_ENGINE_PREVIEW 2
+#define RE_ENGINE_DO_DRAW 4
+#define RE_ENGINE_DO_UPDATE 8
+#define RE_ENGINE_RENDERING 16
+#define RE_ENGINE_HIGHLIGHT_TILES 32
+#define RE_ENGINE_USED_FOR_VIEWPORT 64
extern ListBase R_engines;
typedef struct RenderEngineType {
- struct RenderEngineType *next, *prev;
-
- /* type info */
- char idname[64]; // best keep the same size as BKE_ST_MAXNAME
- char name[64];
- int flag;
-
- void (*update)(struct RenderEngine *engine, struct Main *bmain, struct Depsgraph *depsgraph);
- void (*render)(struct RenderEngine *engine, struct Depsgraph *depsgraph);
- void (*bake)(struct RenderEngine *engine, struct Depsgraph *depsgraph,
- struct Object *object, const int pass_type,
- const int pass_filter, const int object_id, const struct BakePixel *pixel_array, const int num_pixels,
- const int depth, void *result);
-
- void (*view_update)(struct RenderEngine *engine, const struct bContext *context);
- void (*view_draw)(struct RenderEngine *engine, const struct bContext *context);
-
- void (*update_script_node)(struct RenderEngine *engine, struct bNodeTree *ntree, struct bNode *node);
- void (*update_render_passes)(struct RenderEngine *engine, struct Scene *scene, struct ViewLayer *view_layer);
-
- struct DrawEngineType *draw_engine;
-
- /* RNA integration */
- ExtensionRNA ext;
+ struct RenderEngineType *next, *prev;
+
+ /* type info */
+ char idname[64]; // best keep the same size as BKE_ST_MAXNAME
+ char name[64];
+ int flag;
+
+ void (*update)(struct RenderEngine *engine, struct Main *bmain, struct Depsgraph *depsgraph);
+ void (*render)(struct RenderEngine *engine, struct Depsgraph *depsgraph);
+ void (*bake)(struct RenderEngine *engine,
+ struct Depsgraph *depsgraph,
+ struct Object *object,
+ const int pass_type,
+ const int pass_filter,
+ const int object_id,
+ const struct BakePixel *pixel_array,
+ const int num_pixels,
+ const int depth,
+ void *result);
+
+ void (*view_update)(struct RenderEngine *engine, const struct bContext *context);
+ void (*view_draw)(struct RenderEngine *engine, const struct bContext *context);
+
+ void (*update_script_node)(struct RenderEngine *engine,
+ struct bNodeTree *ntree,
+ struct bNode *node);
+ void (*update_render_passes)(struct RenderEngine *engine,
+ struct Scene *scene,
+ struct ViewLayer *view_layer);
+
+ struct DrawEngineType *draw_engine;
+
+ /* RNA integration */
+ ExtensionRNA ext;
} RenderEngineType;
-typedef void (*update_render_passes_cb_t)(void *userdata, struct Scene *scene, struct ViewLayer *view_layer,
- const char *name, int channels, const char *chanid, int type);
+typedef void (*update_render_passes_cb_t)(void *userdata,
+ struct Scene *scene,
+ struct ViewLayer *view_layer,
+ const char *name,
+ int channels,
+ const char *chanid,
+ int type);
typedef struct RenderEngine {
- RenderEngineType *type;
- void *py_instance;
+ RenderEngineType *type;
+ void *py_instance;
- int flag;
- struct Object *camera_override;
- unsigned int layer_override;
+ int flag;
+ struct Object *camera_override;
+ unsigned int layer_override;
- int tile_x;
- int tile_y;
+ int tile_x;
+ int tile_y;
- struct Render *re;
- ListBase fullresult;
- char text[512]; /* IMA_MAX_RENDER_TEXT */
+ struct Render *re;
+ ListBase fullresult;
+ char text[512]; /* IMA_MAX_RENDER_TEXT */
- int resolution_x, resolution_y;
+ int resolution_x, resolution_y;
- struct ReportList *reports;
+ struct ReportList *reports;
- /* Depsgraph */
- struct Depsgraph *depsgraph;
+ /* Depsgraph */
+ struct Depsgraph *depsgraph;
- /* callback for render pass query */
- ThreadMutex update_render_passes_mutex;
- update_render_passes_cb_t update_render_passes_cb;
- void *update_render_passes_data;
+ /* callback for render pass query */
+ ThreadMutex update_render_passes_mutex;
+ update_render_passes_cb_t update_render_passes_cb;
+ void *update_render_passes_data;
- rctf last_viewplane;
- rcti last_disprect;
- float last_viewmat[4][4];
- int last_winx, last_winy;
+ rctf last_viewplane;
+ rcti last_disprect;
+ float last_viewmat[4][4];
+ int last_winx, last_winy;
} RenderEngine;
RenderEngine *RE_engine_create(RenderEngineType *type);
RenderEngine *RE_engine_create_ex(RenderEngineType *type, bool use_for_viewport);
void RE_engine_free(RenderEngine *engine);
-void RE_layer_load_from_file(struct RenderLayer *layer, struct ReportList *reports, const char *filename, int x, int y);
-void RE_result_load_from_file(struct RenderResult *result, struct ReportList *reports, const char *filename);
+void RE_layer_load_from_file(
+ struct RenderLayer *layer, struct ReportList *reports, const char *filename, int x, int y);
+void RE_result_load_from_file(struct RenderResult *result,
+ struct ReportList *reports,
+ const char *filename);
-struct RenderResult *RE_engine_begin_result(RenderEngine *engine, int x, int y, int w, int h, const char *layername, const char *viewname);
+struct RenderResult *RE_engine_begin_result(
+ RenderEngine *engine, int x, int y, int w, int h, const char *layername, const char *viewname);
void RE_engine_update_result(RenderEngine *engine, struct RenderResult *result);
-void RE_engine_add_pass(RenderEngine *engine, const char *name, int channels, const char *chan_id, const char *layername);
-void RE_engine_end_result(RenderEngine *engine, struct RenderResult *result, bool cancel, bool highlight, bool merge_results);
+void RE_engine_add_pass(RenderEngine *engine,
+ const char *name,
+ int channels,
+ const char *chan_id,
+ const char *layername);
+void RE_engine_end_result(RenderEngine *engine,
+ struct RenderResult *result,
+ bool cancel,
+ bool highlight,
+ bool merge_results);
struct RenderResult *RE_engine_get_result(struct RenderEngine *engine);
const char *RE_engine_active_view_get(RenderEngine *engine);
void RE_engine_active_view_set(RenderEngine *engine, const char *viewname);
-float RE_engine_get_camera_shift_x(RenderEngine *engine, struct Object *camera, bool use_spherical_stereo);
-void RE_engine_get_camera_model_matrix(RenderEngine *engine, struct Object *camera, bool use_spherical_stereo, float *r_modelmat);
+float RE_engine_get_camera_shift_x(RenderEngine *engine,
+ struct Object *camera,
+ bool use_spherical_stereo);
+void RE_engine_get_camera_model_matrix(RenderEngine *engine,
+ struct Object *camera,
+ bool use_spherical_stereo,
+ float *r_modelmat);
bool RE_engine_get_spherical_stereo(RenderEngine *engine, struct Object *camera);
bool RE_engine_test_break(RenderEngine *engine);
@@ -167,10 +199,18 @@ bool RE_engine_is_external(struct Render *re);
void RE_engine_frame_set(struct RenderEngine *engine, int frame, float subframe);
-void RE_engine_update_render_passes(struct RenderEngine *engine, struct Scene *scene, struct ViewLayer *view_layer,
- update_render_passes_cb_t callback, void *callback_data);
-void RE_engine_register_pass(struct RenderEngine *engine, struct Scene *scene, struct ViewLayer *view_layer,
- const char *name, int channels, const char *chanid, int type);
+void RE_engine_update_render_passes(struct RenderEngine *engine,
+ struct Scene *scene,
+ struct ViewLayer *view_layer,
+ update_render_passes_cb_t callback,
+ void *callback_data);
+void RE_engine_register_pass(struct RenderEngine *engine,
+ struct Scene *scene,
+ struct ViewLayer *view_layer,
+ const char *name,
+ int channels,
+ const char *chanid,
+ int type);
/* Engine Types */
@@ -184,8 +224,9 @@ RenderEngineType *RE_engines_find(const char *idname);
rcti *RE_engine_get_current_tiles(struct Render *re, int *r_total_tiles, bool *r_needs_free);
struct RenderData *RE_engine_get_render_data(struct Render *re);
-void RE_bake_engine_set_engine_parameters(
- struct Render *re, struct Main *bmain, struct Scene *scene);
+void RE_bake_engine_set_engine_parameters(struct Render *re,
+ struct Main *bmain,
+ struct Scene *scene);
void RE_engine_free_blender_memory(struct RenderEngine *engine);
diff --git a/source/blender/render/extern/include/RE_multires_bake.h b/source/blender/render/extern/include/RE_multires_bake.h
index 626910701e0..6abd9be6608 100644
--- a/source/blender/render/extern/include/RE_multires_bake.h
+++ b/source/blender/render/extern/include/RE_multires_bake.h
@@ -28,37 +28,37 @@ struct MultiresBakeRender;
struct Scene;
typedef struct MultiresBakeRender {
- Scene *scene;
- DerivedMesh *lores_dm, *hires_dm;
- bool simple;
- int bake_filter; /* Bake-filter, aka margin */
- int lvl, tot_lvl;
- short mode;
- bool use_lores_mesh; /* Use low-resolution mesh when baking displacement maps */
+ Scene *scene;
+ DerivedMesh *lores_dm, *hires_dm;
+ bool simple;
+ int bake_filter; /* Bake-filter, aka margin */
+ int lvl, tot_lvl;
+ short mode;
+ bool use_lores_mesh; /* Use low-resolution mesh when baking displacement maps */
- /* material aligned image array (for per-face bake image) */
- struct {
- Image **array;
- int len;
- } ob_image;
+ /* material aligned image array (for per-face bake image) */
+ struct {
+ Image **array;
+ int len;
+ } ob_image;
- int number_of_rays; /* Number of rays to be cast when doing AO baking */
- float bias; /* Bias between object and start ray point when doing AO baking */
+ int number_of_rays; /* Number of rays to be cast when doing AO baking */
+ float bias; /* Bias between object and start ray point when doing AO baking */
- int tot_obj, tot_image;
- ListBase image;
+ int tot_obj, tot_image;
+ ListBase image;
- int baked_objects, baked_faces;
+ int baked_objects, baked_faces;
- int raytrace_structure; /* Optimization structure to be used for AO baking */
- int octree_resolution; /* Reslution of octotree when using octotree optimization structure */
- int threads; /* Number of threads to be used for baking */
+ int raytrace_structure; /* Optimization structure to be used for AO baking */
+ int octree_resolution; /* Reslution of octotree when using octotree optimization structure */
+ int threads; /* Number of threads to be used for baking */
- float user_scale; /* User scale used to scale displacement when baking derivative map. */
+ float user_scale; /* User scale used to scale displacement when baking derivative map. */
- short *stop;
- short *do_update;
- float *progress;
+ short *stop;
+ short *do_update;
+ float *progress;
} MultiresBakeRender;
void RE_multires_bake_images(struct MultiresBakeRender *bkr);
diff --git a/source/blender/render/extern/include/RE_pipeline.h b/source/blender/render/extern/include/RE_pipeline.h
index 83217c6b009..0e7399d4a0d 100644
--- a/source/blender/render/extern/include/RE_pipeline.h
+++ b/source/blender/render/extern/include/RE_pipeline.h
@@ -48,7 +48,7 @@ struct bNodeTree;
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* length of the scene name + passname */
-#define RE_MAXNAME ((MAX_ID_NAME - 2) + 10)
+#define RE_MAXNAME ((MAX_ID_NAME - 2) + 10)
/* only used as handle */
typedef struct Render Render;
@@ -62,118 +62,116 @@ typedef struct Render Render;
*/
typedef struct RenderView {
- struct RenderView *next, *prev;
- char name[64]; /* EXR_VIEW_MAXNAME */
+ 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;
+ /* 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;
+ 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;
+ struct RenderLayer *next, *prev;
- /* copy of RenderData */
- char name[RE_MAXNAME];
- int layflag, passflag, pass_xor;
+ /* copy of RenderData */
+ char name[RE_MAXNAME];
+ int layflag, passflag, pass_xor;
- /* MULTIVIEW_TODO: acolrect and scolrect are not supported by multiview at the moment.
- * If they are really required they should be in RenderView instead */
+ /* MULTIVIEW_TODO: acolrect and scolrect are not supported by multiview at the moment.
+ * If they are really required they should be in RenderView instead */
- float *acolrect; /* 4 float, optional transparent buffer, needs storage for display updates */
- float *scolrect; /* 4 float, optional strand buffer, needs storage for display updates */
- int *display_buffer; /* 4 char, optional color managed display buffer which is used when
- * Save Buffer is enabled to display combined pass of the screen. */
- int rectx, recty;
+ float *acolrect; /* 4 float, optional transparent buffer, needs storage for display updates */
+ float *scolrect; /* 4 float, optional strand buffer, needs storage for display updates */
+ int *display_buffer; /* 4 char, optional color managed display buffer which is used when
+ * Save Buffer is enabled to display combined pass of the screen. */
+ int rectx, recty;
- /* optional saved endresult on disk */
- void *exrhandle;
+ /* optional saved endresult on disk */
+ void *exrhandle;
- ListBase passes;
+ ListBase passes;
} RenderLayer;
typedef struct RenderResult {
- struct RenderResult *next, *prev;
+ struct RenderResult *next, *prev;
- /* target image size */
- int rectx, recty;
- short crop, sample_nr;
+ /* 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 */
+ /* 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;
+ /* 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;
+ /* 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;
+ /* the main buffers */
+ ListBase layers;
- /* multiView maps to a StringVector in OpenEXR */
- ListBase views; /* RenderView */
+ /* multiView maps to a StringVector in OpenEXR */
+ ListBase views; /* RenderView */
- /* allowing live updates: */
- volatile rcti renrect;
- volatile RenderLayer *renlay;
+ /* allowing live updates: */
+ volatile rcti renrect;
+ volatile RenderLayer *renlay;
- /* optional saved endresult on disk */
- int do_exr_tile;
+ /* optional saved endresult on disk */
+ int do_exr_tile;
- /* for render results in Image, verify validity for sequences */
- int framenr;
+ /* 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;
+ /* for acquire image, to indicate if it there is a combined layer */
+ int have_combined;
- /* render info text */
- char *text;
- char *error;
+ /* render info text */
+ char *text;
+ char *error;
- struct StampData *stamp_data;
+ struct StampData *stamp_data;
} RenderResult;
-
typedef struct RenderStats {
- int cfra;
- int totface, totvert, totstrand, tothalo, totlamp, totpart;
- short curfield, curblur, curpart, partsdone, convertdone, curfsa;
- bool localview;
- double starttime, lastframetime;
- const char *infostr, *statstr;
- char scene_name[MAX_ID_NAME - 2];
- float mem_used, mem_peak;
+ int cfra;
+ int totface, totvert, totstrand, tothalo, totlamp, totpart;
+ short curfield, curblur, curpart, partsdone, convertdone, curfsa;
+ bool localview;
+ double starttime, lastframetime;
+ const char *infostr, *statstr;
+ char scene_name[MAX_ID_NAME - 2];
+ float mem_used, mem_peak;
} RenderStats;
/* *********************** API ******************** */
@@ -217,24 +215,37 @@ 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_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);
+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);
+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);
+struct RenderPass *RE_create_gp_pass(struct RenderResult *rr,
+ 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_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);
@@ -254,22 +265,41 @@ void RE_GetViewPlane(struct Render *re, rctf *r_viewplane, rcti *r_disprect);
/* set the render threads based on the commandline 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);
+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_BlenderFrame(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_BlenderAnim(struct Render *re, struct Main *bmain, struct Scene *scene,
- struct ViewLayer *single_layer, struct Object *camera_override,
- int sfra, int efra, int tfra);
+void RE_BlenderFrame(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_BlenderAnim(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_RenderFreestyleStrokes(struct Render *re,
+ struct Main *bmain,
+ struct Scene *scene,
+ int render);
void RE_RenderFreestyleExternal(struct Render *re);
#endif
@@ -283,24 +313,35 @@ void RE_SetReports(struct Render *re, struct ReportList *reports);
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);
+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);
+ 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_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);
@@ -312,13 +353,17 @@ 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);
+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
+#define RE_BAKE_NORMALS 0
+#define RE_BAKE_DISPLACEMENT 1
+#define RE_BAKE_AO 2
void RE_GetCameraWindow(struct Render *re, struct Object *camera, int frame, float mat[4][4]);
void RE_GetCameraWindowWithOverscan(struct Render *re, float mat[4][4], float overscan);
@@ -326,7 +371,10 @@ void RE_GetCameraModelMatrix(struct Render *re, struct Object *camera, float r_m
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_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);
diff --git a/source/blender/render/extern/include/RE_render_ext.h b/source/blender/render/extern/include/RE_render_ext.h
index dd457751545..6771eb53abd 100644
--- a/source/blender/render/extern/include/RE_render_ext.h
+++ b/source/blender/render/extern/include/RE_render_ext.h
@@ -20,7 +20,6 @@
* \ingroup render
*/
-
#ifndef __RE_RENDER_EXT_H__
#define __RE_RENDER_EXT_H__
@@ -38,10 +37,19 @@ struct ViewLayer;
/* render_texture.c */
/* used by particle.c, effect.c, editmesh_modes.c and brush.c, returns 1 if rgb, 0 otherwise */
-int externtex(
- const struct MTex *mtex, const float vec[3], float *tin, float *tr, float *tg, float *tb, float *ta,
- const int thread, struct ImagePool *pool, const bool skip_load_image, const bool texnode_preview);
-void texture_rgb_blend(float in[3], const float tex[3], const float out[3], float fact, float facg, int blendtype);
+int externtex(const struct MTex *mtex,
+ const float vec[3],
+ float *tin,
+ float *tr,
+ float *tg,
+ float *tb,
+ float *ta,
+ const int thread,
+ struct ImagePool *pool,
+ const bool skip_load_image,
+ const bool texnode_preview);
+void texture_rgb_blend(
+ float in[3], const float tex[3], const float out[3], float fact, float facg, int blendtype);
float texture_value_blend(float tex, float out, float fact, float facg, int blendtype);
void RE_texture_rng_init(void);
@@ -53,20 +61,17 @@ void ibuf_sample(struct ImBuf *ibuf, float fx, float fy, float dx, float dy, flo
/* pointdensity.c */
struct PointDensity;
-void RE_point_density_cache(
- struct Depsgraph *depsgraph,
- struct PointDensity *pd);
+void RE_point_density_cache(struct Depsgraph *depsgraph, struct PointDensity *pd);
-void RE_point_density_minmax(
- struct Depsgraph *depsgraph,
- struct PointDensity *pd,
- float r_min[3], float r_max[3]);
+void RE_point_density_minmax(struct Depsgraph *depsgraph,
+ struct PointDensity *pd,
+ float r_min[3],
+ float r_max[3]);
-void RE_point_density_sample(
- struct Depsgraph *depsgraph,
- struct PointDensity *pd,
- const int resolution,
- float *values);
+void RE_point_density_sample(struct Depsgraph *depsgraph,
+ struct PointDensity *pd,
+ const int resolution,
+ float *values);
void RE_point_density_free(struct PointDensity *pd);
diff --git a/source/blender/render/extern/include/RE_shader_ext.h b/source/blender/render/extern/include/RE_shader_ext.h
index 5fc9431af3d..c5e3575d1f9 100644
--- a/source/blender/render/extern/include/RE_shader_ext.h
+++ b/source/blender/render/extern/include/RE_shader_ext.h
@@ -20,7 +20,6 @@
* \ingroup render
*/
-
#ifndef __RE_SHADER_EXT_H__
#define __RE_SHADER_EXT_H__
@@ -31,14 +30,14 @@
/* localized texture result data */
/* note; tr tg tb ta has to remain in this order */
typedef struct TexResult {
- float tin, tr, tg, tb, ta;
- int talpha;
- float *nor;
+ float tin, tr, tg, tb, ta;
+ int talpha;
+ float *nor;
} TexResult;
typedef struct BakeImBufuserData {
- float *displacement_buffer;
- char *mask_buffer;
+ float *displacement_buffer;
+ char *mask_buffer;
} BakeImBufuserData;
/* node shaders... */
@@ -51,7 +50,8 @@ struct Tex;
/* this one uses nodes */
int multitex_ext(struct Tex *tex,
float texvec[3],
- float dxt[3], float dyt[3],
+ float dxt[3],
+ float dyt[3],
int osatex,
struct TexResult *texres,
const short thread,
@@ -59,9 +59,22 @@ int multitex_ext(struct Tex *tex,
bool scene_color_manage,
const bool skip_load_image);
/* nodes disabled */
-int multitex_ext_safe(struct Tex *tex, float texvec[3], struct TexResult *texres, struct ImagePool *pool, bool scene_color_manage, const bool skip_load_image);
+int multitex_ext_safe(struct Tex *tex,
+ float texvec[3],
+ struct TexResult *texres,
+ struct ImagePool *pool,
+ bool scene_color_manage,
+ const bool skip_load_image);
/* only for internal node usage */
-int multitex_nodes(struct Tex *tex, float texvec[3], float dxt[3], float dyt[3], int osatex, struct TexResult *texres,
- const short thread, short which_output, struct MTex *mtex, struct ImagePool *pool);
+int multitex_nodes(struct Tex *tex,
+ float texvec[3],
+ float dxt[3],
+ float dyt[3],
+ int osatex,
+ struct TexResult *texres,
+ const short thread,
+ short which_output,
+ struct MTex *mtex,
+ struct ImagePool *pool);
#endif /* __RE_SHADER_EXT_H__ */