From b1d758ae6b63f1b644c5cb721f131ad1795c2b49 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 29 Mar 2015 03:56:39 +1100 Subject: Cleanup: redundant struct declarations --- source/blender/render/extern/include/RE_bake.h | 1 + 1 file changed, 1 insertion(+) (limited to 'source/blender/render/extern/include/RE_bake.h') diff --git a/source/blender/render/extern/include/RE_bake.h b/source/blender/render/extern/include/RE_bake.h index 481da452529..ffc1246b878 100644 --- a/source/blender/render/extern/include/RE_bake.h +++ b/source/blender/render/extern/include/RE_bake.h @@ -32,6 +32,7 @@ #ifndef __RE_BAKE_H__ #define __RE_BAKE_H__ +struct ImBuf; struct Render; struct Mesh; -- cgit v1.2.3 From 394c5318c6fe981f94fc78f312fc0295209288dc Mon Sep 17 00:00:00 2001 From: Dalai Felinto Date: Fri, 17 Apr 2015 12:25:37 -0300 Subject: Bake-API: reduce memory footprint when baking more than one object (Fix T41092) Combine all the highpoly pixel arrays into a single array with a lookup object_id for each of the highpoly objects. Note: This changes the Bake API, external engines should refer to the bake_api.c for the latest API. Many thanks for Sergey Sharybin for the complete review, changes suggestion and feedback. (you rock!) Reviewers: sergey Subscribers: pildanovak, marcclintdion, monio, metalliandy, brecht Maniphest Tasks: T41092 Differential Revision: https://developer.blender.org/D772 --- source/blender/render/extern/include/RE_bake.h | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'source/blender/render/extern/include/RE_bake.h') diff --git a/source/blender/render/extern/include/RE_bake.h b/source/blender/render/extern/include/RE_bake.h index ffc1246b878..e8a8986714d 100644 --- a/source/blender/render/extern/include/RE_bake.h +++ b/source/blender/render/extern/include/RE_bake.h @@ -50,14 +50,13 @@ typedef struct BakeImages { } BakeImages; typedef struct BakePixel { - int primitive_id; + int primitive_id, object_id; float uv[2]; float du_dx, du_dy; float dv_dx, dv_dy; } BakePixel; typedef struct BakeHighPolyData { - struct BakePixel *pixel_array; struct Object *ob; struct ModifierData *tri_mod; struct Mesh *me; @@ -72,7 +71,7 @@ typedef struct BakeHighPolyData { bool RE_bake_has_engine(struct Render *re); bool RE_bake_engine( - struct Render *re, struct Object *object, const BakePixel pixel_array[], + struct Render *re, struct Object *object, const int object_id, const BakePixel pixel_array[], const size_t num_pixels, const int depth, const ScenePassType pass_type, float result[]); /* bake.c */ @@ -82,7 +81,7 @@ bool RE_bake_internal( const size_t num_pixels, const int depth, const ScenePassType pass_type, float result[]); bool RE_bake_pixels_populate_from_objects( - struct Mesh *me_low, BakePixel pixel_array_from[], + 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); -- cgit v1.2.3 From e1ed47eb5b6ec3f1501bed0b34bfa7894acee022 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 27 Apr 2015 22:43:01 +1000 Subject: Fix T44512: Cycles fails normal bake /w scale flip --- source/blender/render/extern/include/RE_bake.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source/blender/render/extern/include/RE_bake.h') diff --git a/source/blender/render/extern/include/RE_bake.h b/source/blender/render/extern/include/RE_bake.h index e8a8986714d..0750ea1aa28 100644 --- a/source/blender/render/extern/include/RE_bake.h +++ b/source/blender/render/extern/include/RE_bake.h @@ -61,10 +61,10 @@ typedef struct BakeHighPolyData { struct ModifierData *tri_mod; struct Mesh *me; char restrict_flag; + bool is_flip_object; float obmat[4][4]; float imat[4][4]; - float rotmat[4][4]; } BakeHighPolyData; /* external_engine.c */ -- cgit v1.2.3