Blender V4.3
object_bake_api.cc File Reference
#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 "RNA_access.hh"
#include "RNA_define.hh"
#include "RNA_enum_types.hh"
#include "BLI_fileops.h"
#include "BLI_listbase.h"
#include "BLI_math_geom.h"
#include "BLI_path_utils.hh"
#include "BLI_string.h"
#include "BLT_translation.hh"
#include "BKE_attribute.hh"
#include "BKE_callbacks.hh"
#include "BKE_context.hh"
#include "BKE_editmesh.hh"
#include "BKE_global.hh"
#include "BKE_image.hh"
#include "BKE_image_format.hh"
#include "BKE_layer.hh"
#include "BKE_lib_id.hh"
#include "BKE_main.hh"
#include "BKE_material.h"
#include "BKE_mesh.hh"
#include "BKE_modifier.hh"
#include "BKE_node.hh"
#include "BKE_object.hh"
#include "BKE_report.hh"
#include "BKE_scene.hh"
#include "BKE_screen.hh"
#include "DEG_depsgraph.hh"
#include "DEG_depsgraph_build.hh"
#include "DEG_depsgraph_query.hh"
#include "RE_engine.h"
#include "RE_pipeline.h"
#include "IMB_colormanagement.hh"
#include "IMB_imbuf.hh"
#include "IMB_imbuf_types.hh"
#include "WM_api.hh"
#include "WM_types.hh"
#include "ED_mesh.hh"
#include "ED_object.hh"
#include "ED_screen.hh"
#include "ED_uvedit.hh"
#include "object_intern.hh"

Go to the source code of this file.

Classes

struct  blender::ed::object::BakeAPIRender
 

Namespaces

namespace  blender
 
namespace  blender::ed
 
namespace  blender::ed::object
 

Functions

static void blender::ed::object::bake_set_props (wmOperator *op, Scene *scene)
 
static void blender::ed::object::bake_progress_update (void *bjv, float progress)
 
static int blender::ed::object::bake_modal (bContext *C, wmOperator *, const wmEvent *event)
 
static bool blender::ed::object::bake_break (void *)
 
static void blender::ed::object::bake_update_image (ScrArea *area, Image *image)
 
static void blender::ed::object::bias_tangent_normal_pixels (float *rect, int channels, int width, int height, int stride)
 
static bool blender::ed::object::write_internal_bake_pixels (Image *image, const int image_tile_number, BakePixel pixel_array[], float *buffer, const int width, const int height, const int margin, const char margin_type, const bool is_clear, const bool is_noncolor, const bool is_tangent_normal, Mesh const *mesh_eval, char const *uv_layer, const float uv_offset[2])
 
static void blender::ed::object::bake_targets_refresh (BakeTargets *targets)
 
static bool blender::ed::object::write_external_bake_pixels (const char *filepath, BakePixel pixel_array[], float *buffer, const int width, const int height, const int margin, const int margin_type, ImageFormatData const *im_format, const bool is_noncolor, const bool is_tangent_normal, Mesh const *mesh_eval, char const *uv_layer, const float uv_offset[2])
 
static bool blender::ed::object::is_noncolor_pass (eScenePassType pass_type)
 
static bool blender::ed::object::bake_object_check (const Scene *scene, ViewLayer *view_layer, Object *ob, const eBakeTarget target, ReportList *reports)
 
static bool blender::ed::object::bake_pass_filter_check (eScenePassType pass_type, const int pass_filter, ReportList *reports)
 
static bool blender::ed::object::bake_objects_check (Main *bmain, const Scene *scene, ViewLayer *view_layer, Object *ob, Span< PointerRNA > selected_objects, ReportList *reports, const bool is_selected_to_active, const eBakeTarget target)
 
static void blender::ed::object::bake_targets_clear (Main *bmain, const bool is_tangent)
 
static Meshblender::ed::object::bake_mesh_new_from_object (Depsgraph *depsgraph, Object *object, const bool preserve_origindex)
 
static bool blender::ed::object::bake_targets_init_image_textures (const BakeAPIRender *bkr, BakeTargets *targets, Object *ob, ReportList *reports)
 
static bool blender::ed::object::bake_targets_init_internal (const BakeAPIRender *bkr, BakeTargets *targets, Object *ob, ReportList *reports)
 
static bool blender::ed::object::bake_targets_output_internal (const BakeAPIRender *bkr, BakeTargets *targets, Object *ob, BakePixel *pixel_array, ReportList *reports, Mesh *mesh_eval)
 
static bool blender::ed::object::bake_targets_init_external (const BakeAPIRender *bkr, BakeTargets *targets, Object *ob, ReportList *reports)
 
static bool blender::ed::object::bake_targets_output_external (const BakeAPIRender *bkr, BakeTargets *targets, Object *ob, Object *ob_eval, Mesh *mesh_eval, BakePixel *pixel_array, ReportList *reports)
 
static bool blender::ed::object::bake_targets_init_vertex_colors (Main *bmain, BakeTargets *targets, Object *ob, ReportList *reports)
 
static int blender::ed::object::find_original_loop (const OffsetIndices< int > orig_faces, const Span< int > orig_corner_verts, const int *vert_origindex, const int *poly_origindex, const int poly_eval, const int vert_eval)
 
static void blender::ed::object::bake_targets_populate_pixels_color_attributes (BakeTargets *targets, Object *ob, Mesh *mesh_eval, BakePixel *pixel_array)
 
static void blender::ed::object::bake_result_add_to_rgba (float rgba[4], const float *result, const int channels_num)
 
static void blender::ed::object::convert_float_color_to_byte_color (const MPropCol *float_colors, const int num, const bool is_noncolor, MLoopCol *byte_colors)
 
static bool blender::ed::object::bake_targets_output_vertex_colors (BakeTargets *targets, Object *ob)
 
static bool blender::ed::object::bake_targets_init (const BakeAPIRender *bkr, BakeTargets *targets, Object *ob, Object *ob_eval, ReportList *reports)
 
static void blender::ed::object::bake_targets_populate_pixels (const BakeAPIRender *bkr, BakeTargets *targets, Object *ob, Mesh *mesh_eval, BakePixel *pixel_array)
 
static bool blender::ed::object::bake_targets_output (const BakeAPIRender *bkr, BakeTargets *targets, Object *ob, Object *ob_eval, Mesh *mesh_eval, BakePixel *pixel_array, ReportList *reports)
 
static void blender::ed::object::bake_targets_free (BakeTargets *targets)
 
static int blender::ed::object::bake (const BakeAPIRender *bkr, Object *ob_low, const Span< PointerRNA > selected_objects, ReportList *reports)
 
static void blender::ed::object::bake_init_api_data (wmOperator *op, bContext *C, BakeAPIRender *bkr)
 
static int blender::ed::object::bake_exec (bContext *C, wmOperator *op)
 
static void blender::ed::object::bake_startjob (void *bkv, wmJobWorkerStatus *worker_status)
 
static void blender::ed::object::bake_job_complete (void *bkv)
 
static void blender::ed::object::bake_job_canceled (void *bkv)
 
static void blender::ed::object::bake_freejob (void *bkv)
 
static int blender::ed::object::bake_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
void blender::ed::object::OBJECT_OT_bake (wmOperatorType *ot)