Blender  V3.3
Classes | Typedefs | Enumerations | Functions
object_bake.c File Reference
#include <string.h>
#include "MEM_guardedalloc.h"
#include "DNA_material_types.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_screen_types.h"
#include "DNA_space_types.h"
#include "DNA_world_types.h"
#include "BLI_blenlib.h"
#include "BLI_utildefines.h"
#include "BKE_DerivedMesh.h"
#include "BKE_blender.h"
#include "BKE_cdderivedmesh.h"
#include "BKE_context.h"
#include "BKE_global.h"
#include "BKE_image.h"
#include "BKE_material.h"
#include "BKE_mesh.h"
#include "BKE_modifier.h"
#include "BKE_multires.h"
#include "BKE_report.h"
#include "BKE_scene.h"
#include "DEG_depsgraph.h"
#include "RE_multires_bake.h"
#include "RE_pipeline.h"
#include "RE_texture.h"
#include "PIL_time.h"
#include "IMB_imbuf.h"
#include "IMB_imbuf_types.h"
#include "WM_api.h"
#include "WM_types.h"
#include "ED_object.h"
#include "ED_screen.h"
#include "ED_uvedit.h"
#include "object_intern.h"

Go to the source code of this file.

Classes

struct  MultiresBakerJobData
 
struct  MultiresBakeJob
 

Typedefs

typedef struct MultiresBakerJobData MultiresBakerJobData
 
typedef enum ClearFlag ClearFlag
 

Enumerations

enum  ClearFlag { CLEAR_TANGENT_NORMAL = 1 , CLEAR_DISPLACEMENT = 2 }
 

Functions

static Imagebake_object_image_get (Object *ob, int mat_nr)
 
static Image ** bake_object_image_get_array (Object *ob)
 
static bool multiresbake_check (bContext *C, wmOperator *op)
 
static DerivedMeshmultiresbake_create_loresdm (Scene *scene, Object *ob, int *lvl)
 
static DerivedMeshmultiresbake_create_hiresdm (Scene *scene, Object *ob, int *lvl)
 
static void clear_single_image (Image *image, ClearFlag flag)
 
static void clear_images_poly (Image **ob_image_array, int ob_image_array_len, ClearFlag flag)
 
static int multiresbake_image_exec_locked (bContext *C, wmOperator *op)
 
static void init_multiresbake_job (bContext *C, MultiresBakeJob *bkj)
 
static void multiresbake_startjob (void *bkv, short *stop, short *do_update, float *progress)
 
static void multiresbake_freejob (void *bkv)
 
static int multiresbake_image_exec (bContext *C, wmOperator *op)
 
static int objects_bake_render_modal (bContext *C, wmOperator *UNUSED(op), const wmEvent *event)
 
static bool is_multires_bake (Scene *scene)
 
static int objects_bake_render_invoke (bContext *C, wmOperator *op, const wmEvent *UNUSED(_event))
 
static int bake_image_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_bake_image (wmOperatorType *ot)
 

Typedef Documentation

◆ ClearFlag

typedef enum ClearFlag ClearFlag

◆ MultiresBakerJobData

Enumeration Type Documentation

◆ ClearFlag

enum ClearFlag
Enumerator
CLEAR_TANGENT_NORMAL 
CLEAR_DISPLACEMENT 

Definition at line 269 of file object_bake.c.

Function Documentation

◆ bake_image_exec()

static int bake_image_exec ( bContext C,
wmOperator op 
)
static

◆ bake_object_image_get()

static Image* bake_object_image_get ( Object ob,
int  mat_nr 
)
static

Definition at line 57 of file object_bake.c.

References ED_object_get_active_image(), image(), and NULL.

Referenced by bake_object_image_get_array(), and multiresbake_check().

◆ bake_object_image_get_array()

static Image** bake_object_image_get_array ( Object ob)
static

◆ clear_images_poly()

static void clear_images_poly ( Image **  ob_image_array,
int  ob_image_array_len,
ClearFlag  flag 
)
static

Definition at line 308 of file object_bake.c.

References clear_single_image(), image(), and LIB_TAG_DOIT.

Referenced by multiresbake_image_exec_locked(), and multiresbake_startjob().

◆ clear_single_image()

static void clear_single_image ( Image image,
ClearFlag  flag 
)
static

◆ init_multiresbake_job()

static void init_multiresbake_job ( bContext C,
MultiresBakeJob bkj 
)
static

◆ is_multires_bake()

static bool is_multires_bake ( Scene scene)
static

◆ multiresbake_check()

static bool multiresbake_check ( bContext C,
wmOperator op 
)
static

◆ multiresbake_create_hiresdm()

static DerivedMesh* multiresbake_create_hiresdm ( Scene scene,
Object ob,
int *  lvl 
)
static

◆ multiresbake_create_loresdm()

static DerivedMesh* multiresbake_create_loresdm ( Scene scene,
Object ob,
int *  lvl 
)
static

◆ multiresbake_freejob()

static void multiresbake_freejob ( void bkv)
static

◆ multiresbake_image_exec()

static int multiresbake_image_exec ( bContext C,
wmOperator op 
)
static

◆ multiresbake_image_exec_locked()

static int multiresbake_image_exec_locked ( bContext C,
wmOperator op 
)
static

◆ multiresbake_startjob()

static void multiresbake_startjob ( void bkv,
short *  stop,
short *  do_update,
float progress 
)
static

◆ OBJECT_OT_bake_image()

void OBJECT_OT_bake_image ( wmOperatorType ot)

◆ objects_bake_render_invoke()

static int objects_bake_render_invoke ( bContext C,
wmOperator op,
const wmEvent UNUSED_event 
)
static

◆ objects_bake_render_modal()

static int objects_bake_render_modal ( bContext C,
wmOperator UNUSEDop,
const wmEvent event 
)
static