Blender  V3.3
Classes | Typedefs | Functions
RE_bake.h File Reference
#include "RE_pipeline.h"

Go to the source code of this file.

Classes

struct  BakeImage
 
struct  BakeTargets
 
struct  BakePixel
 
struct  BakeHighPolyData
 

Typedefs

typedef struct BakeImage BakeImage
 
typedef struct BakeTargets BakeTargets
 
typedef struct BakePixel BakePixel
 
typedef struct BakeHighPolyData BakeHighPolyData
 

Functions

bool RE_bake_has_engine (const struct Render *re)
 
bool RE_bake_engine (struct Render *re, struct Depsgraph *depsgraph, struct Object *object, int object_id, const BakePixel pixel_array[], const BakeTargets *targets, eScenePassType pass_type, int pass_filter, float result[])
 
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[], int tot_highpoly, size_t pixels_num, 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, size_t pixels_num, const struct BakeTargets *targets, const char *uv_layer)
 
void RE_bake_mask_fill (const BakePixel pixel_array[], size_t pixels_num, char *mask)
 
void RE_bake_margin (struct ImBuf *ibuf, char *mask, int margin, char margin_type, struct Mesh const *me, char const *uv_layer, const float uv_offset[2])
 
void RE_bake_normal_world_to_object (const BakePixel pixel_array[], size_t pixels_num, int depth, float result[], struct Object *ob, const eBakeNormalSwizzle normal_swizzle[3])
 
void RE_bake_normal_world_to_tangent (const BakePixel pixel_array[], size_t pixels_num, 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[], size_t pixels_num, int depth, float result[], const eBakeNormalSwizzle normal_swizzle[3])
 
void RE_bake_ibuf_clear (struct Image *image, bool is_tangent)
 

Typedef Documentation

◆ BakeHighPolyData

◆ BakeImage

typedef struct BakeImage BakeImage

◆ BakePixel

typedef struct BakePixel BakePixel

◆ BakeTargets

typedef struct BakeTargets BakeTargets

Function Documentation

◆ RE_bake_engine()

bool RE_bake_engine ( struct Render re,
struct Depsgraph depsgraph,
struct Object object,
int  object_id,
const BakePixel  pixel_array[],
const BakeTargets targets,
eScenePassType  pass_type,
int  pass_filter,
float  result[] 
)

◆ RE_bake_has_engine()

bool RE_bake_has_engine ( const struct Render re)

◆ RE_bake_ibuf_clear()

void RE_bake_ibuf_clear ( struct Image image,
bool  is_tangent 
)

◆ RE_bake_margin()

void RE_bake_margin ( struct ImBuf ibuf,
char *  mask,
int  margin,
char  margin_type,
struct Mesh const *  me,
char const *  uv_layer,
const float  uv_offset[2] 
)

◆ RE_bake_mask_fill()

void RE_bake_mask_fill ( const BakePixel  pixel_array[],
size_t  pixels_num,
char *  mask 
)

Definition at line 129 of file bake.c.

References FILTER_MASK_USED, and mask().

Referenced by write_external_bake_pixels(), and write_internal_bake_pixels().

◆ RE_bake_normal_world_to_object()

void RE_bake_normal_world_to_object ( const BakePixel  pixel_array[],
size_t  pixels_num,
int  depth,
float  result[],
struct Object ob,
const eBakeNormalSwizzle  normal_swizzle[3] 
)

Definition at line 956 of file bake.c.

References copy_v3_v3(), invert_m4_m4(), mul_mat3_m4_v3(), nor, normal_compress(), normalize_v3(), Object::obmat, offset, and result.

Referenced by bake().

◆ RE_bake_normal_world_to_tangent()

void RE_bake_normal_world_to_tangent ( const BakePixel  pixel_array[],
size_t  pixels_num,
int  depth,
float  result[],
struct Mesh me,
const eBakeNormalSwizzle  normal_swizzle[3],
float  mat[4][4] 
)

◆ RE_bake_normal_world_to_world()

void RE_bake_normal_world_to_world ( const BakePixel  pixel_array[],
size_t  pixels_num,
int  depth,
float  result[],
const eBakeNormalSwizzle  normal_swizzle[3] 
)

Definition at line 988 of file bake.c.

References copy_v3_v3(), nor, normal_compress(), offset, and result.

Referenced by bake().

◆ RE_bake_pixels_populate()

void RE_bake_pixels_populate ( struct Mesh me,
struct BakePixel pixel_array,
size_t  pixels_num,
const struct BakeTargets targets,
const char *  uv_layer 
)

◆ RE_bake_pixels_populate_from_objects()

bool RE_bake_pixels_populate_from_objects ( struct Mesh me_low,
BakePixel  pixel_array_from[],
BakePixel  pixel_array_to[],
BakeHighPolyData  highpoly[],
int  tot_highpoly,
size_t  pixels_num,
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 
)

◆ RE_pass_depth()

int RE_pass_depth ( eScenePassType  pass_type)