85 probe->
type = lightprobe_type;
87 switch (probe->
type) {
143 memset(cache, 0,
sizeof(*cache));
247 BLI_assert(object->lightprobe_cache ==
nullptr);
269 if (object->lightprobe_cache ==
nullptr) {
275 if (cache->
shared ==
false) {
@ IDTYPE_FLAGS_APPEND_IS_REUSABLE
void * BKE_id_new(Main *bmain, short type, const char *name)
void BKE_id_blend_write(BlendWriter *writer, ID *id)
#define BKE_LIB_FOREACHID_PROCESS_IDSUPER(data_, id_super_, cb_flag_)
General operations for probes.
#define BLI_assert_msg(a, msg)
MINLINE int cube_i(int a)
#define MEMCMP_STRUCT_AFTER_IS_ZERO(struct_var, member)
#define MEMCPY_STRUCT_AFTER(struct_dst, struct_src, member)
void BLO_read_float3_array(BlendDataReader *reader, int array_size, float **ptr_p)
void BLO_write_float3_array(BlendWriter *writer, uint num, const float *data_ptr)
void BLO_read_float_array(BlendDataReader *reader, int array_size, float **ptr_p)
#define BLO_write_id_struct(writer, struct_name, id_address, id)
#define BLO_write_struct(writer, struct_name, data_ptr)
void BLO_write_float_array(BlendWriter *writer, uint num, const float *data_ptr)
#define BLO_write_struct_array(writer, struct_name, array_size, data_ptr)
void BLO_write_int8_array(BlendWriter *writer, uint num, const int8_t *data_ptr)
#define BLO_read_struct_array(reader, struct_name, array_size, ptr_p)
#define BLO_read_struct(reader, struct_name, ptr_p)
void BLO_read_int8_array(BlendDataReader *reader, int array_size, int8_t **ptr_p)
#define BLT_I18NCONTEXT_ID_LIGHTPROBE
Object groups, one object can be in many groups at once.
#define DNA_struct_default_get(struct_name)
@ LIGHTPROBE_CACHE_UNIFORM_GRID
@ LIGHTPROBE_CACHE_ADAPTIVE_RESOLUTION
struct LightProbe LightProbe
@ LIGHTPROBE_SHAPE_ELIPSOID
Object is a sort of wrapper for general info.
void BKE_lightprobe_cache_create(Object *object)
static void spherical_harmonic_free(T &data)
void BKE_lightprobe_type_set(LightProbe *probe, const short lightprobe_type)
static void lightprobe_init_data(ID *id)
static void lightprobe_blend_write(BlendWriter *writer, ID *id, const void *id_address)
static void spherical_harmonic_copy(T &dst, T &src)
static void lightprobe_grid_cache_frame_blend_write(BlendWriter *writer, const LightProbeGridCacheFrame *cache)
LightProbeGridCacheFrame * BKE_lightprobe_grid_cache_frame_create()
int64_t BKE_lightprobe_grid_cache_frame_sample_count(const LightProbeGridCacheFrame *cache)
static void lightprobe_grid_cache_frame_blend_read(BlendDataReader *reader, LightProbeGridCacheFrame *cache)
static void lightprobe_foreach_id(ID *id, LibraryForeachIDData *data)
void BKE_lightprobe_cache_free(Object *object)
LightProbeGridCacheFrame * BKE_lightprobe_grid_cache_frame_copy(LightProbeGridCacheFrame *src)
void BKE_lightprobe_grid_cache_frame_free(LightProbeGridCacheFrame *cache)
LightProbeObjectCache * BKE_lightprobe_cache_copy(LightProbeObjectCache *src_cache)
void BKE_lightprobe_cache_blend_write(BlendWriter *writer, LightProbeObjectCache *cache)
void BKE_lightprobe_cache_blend_read(BlendDataReader *reader, LightProbeObjectCache *cache)
void * BKE_lightprobe_add(Main *bmain, const char *name)
void *(* MEM_callocN)(size_t len, const char *str)
void *(* MEM_dupallocN)(const void *vmemh)
float(* virtual_offset)[4]
LightProbeVisibilityData visibility
LightProbeBakingData baking
LightProbeConnectivityData connectivity
LightProbeBlockData * block_infos
LightProbeIrradianceData irradiance
struct LightProbeGridCacheFrame * grid_static_cache
struct Collection * visibility_grp