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:
Diffstat (limited to 'source/blender/render/RE_bake.h')
-rw-r--r--source/blender/render/RE_bake.h48
1 files changed, 29 insertions, 19 deletions
diff --git a/source/blender/render/RE_bake.h b/source/blender/render/RE_bake.h
index 47a15199701..d3025bf4198 100644
--- a/source/blender/render/RE_bake.h
+++ b/source/blender/render/RE_bake.h
@@ -25,6 +25,7 @@
struct Depsgraph;
struct ImBuf;
+struct MLoopUV;
struct Mesh;
struct Render;
@@ -81,59 +82,68 @@ bool RE_bake_has_engine(const struct Render *re);
bool RE_bake_engine(struct Render *re,
struct Depsgraph *depsgraph,
struct Object *object,
- const int object_id,
+ int object_id,
const BakePixel pixel_array[],
const BakeTargets *targets,
- const eScenePassType pass_type,
- const int pass_filter,
+ eScenePassType pass_type,
+ int pass_filter,
float result[]);
/* bake.c */
-int RE_pass_depth(const eScenePassType pass_type);
+int RE_pass_depth(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,
- const float max_ray_distance,
+ int tot_highpoly,
+ size_t num_pixels,
+ bool is_custom_cage,
+ float cage_extrusion,
+ float max_ray_distance,
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,
+ size_t num_pixels,
const struct BakeTargets *targets,
const char *uv_layer);
-void RE_bake_mask_fill(const BakePixel pixel_array[], const size_t num_pixels, char *mask);
+void RE_bake_mask_fill(const BakePixel pixel_array[], size_t num_pixels, char *mask);
-void RE_bake_margin(struct ImBuf *ibuf, char *mask, const int margin);
+void RE_bake_margin(struct ImBuf *ibuf,
+ char *mask,
+ int margin,
+ char margin_type,
+ struct Mesh const *me,
+ char const *uv_layer);
void RE_bake_normal_world_to_object(const BakePixel pixel_array[],
- const size_t num_pixels,
- const int depth,
+ size_t num_pixels,
+ int depth,
float result[],
struct Object *ob,
const eBakeNormalSwizzle normal_swizzle[3]);
+/**
+ * This function converts an object space normal map
+ * to a tangent space normal map for a given low poly mesh.
+ */
void RE_bake_normal_world_to_tangent(const BakePixel pixel_array[],
- const size_t num_pixels,
- const int depth,
+ size_t num_pixels,
+ 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,
+ size_t num_pixels,
+ int depth,
float result[],
const eBakeNormalSwizzle normal_swizzle[3]);
-void RE_bake_ibuf_clear(struct Image *image, const bool is_tangent);
+void RE_bake_ibuf_clear(struct Image *image, bool is_tangent);
#ifdef __cplusplus
}