diff options
author | Campbell Barton <ideasman42@gmail.com> | 2019-04-17 07:17:24 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-04-17 07:21:24 +0300 |
commit | e12c08e8d170b7ca40f204a5b0423c23a9fbc2c1 (patch) | |
tree | 8cf3453d12edb177a218ef8009357518ec6cab6a /source/blender/render/extern | |
parent | b3dabc200a4b0399ec6b81f2ff2730d07b44fcaa (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.h | 101 | ||||
-rw-r--r-- | source/blender/render/extern/include/RE_engine.h | 193 | ||||
-rw-r--r-- | source/blender/render/extern/include/RE_multires_bake.h | 48 | ||||
-rw-r--r-- | source/blender/render/extern/include/RE_pipeline.h | 290 | ||||
-rw-r--r-- | source/blender/render/extern/include/RE_render_ext.h | 39 | ||||
-rw-r--r-- | source/blender/render/extern/include/RE_shader_ext.h | 33 |
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__ */ |