Blender V4.3
blender::bke::bake Namespace Reference

Classes

class  AttributeBakeItem
 
struct  BakeDataBlockID
 
struct  BakeDataBlockMap
 
class  BakeItem
 
struct  BakeMaterialsList
 
struct  BakeNodeCache
 
struct  BakePath
 
struct  BakeSocketConfig
 
struct  BakeState
 
struct  BakeStateRef
 
class  BlobReader
 
class  BlobReadSharing
 
struct  BlobSlice
 
class  BlobWriter
 
class  BlobWriteSharing
 
class  DiskBlobReader
 
class  DiskBlobWriter
 
struct  FrameCache
 
class  GeometryBakeItem
 
class  MemoryBlobReader
 
class  MemoryBlobWriter
 
struct  MetaFile
 
struct  ModifierCache
 
struct  NodeBakeCache
 
struct  PrevCache
 
class  PrimitiveBakeItem
 
struct  SimulationNodeCache
 
class  StringBakeItem
 

Typedefs

using DictionaryValuePtr = std::shared_ptr<DictionaryValue>
 

Enumerations

enum class  CacheStatus { Valid , Invalid , Baked }
 
enum class  PackGeometryNodesBakeResult { NoDataFound , PackedAlready , Success }
 
enum class  UnpackGeometryNodesBakeResult { BlendFileNotSaved , NoPackedData , Error , Success }
 

Functions

void scene_simulation_states_reset (Scene &scene)
 
std::optional< NodesModifierBakeTargetget_node_bake_target (const Object &object, const NodesModifierData &nmd, int node_id)
 
std::optional< BakePathget_node_bake_path (const Main &bmain, const Object &object, const NodesModifierData &nmd, int node_id)
 
std::optional< IndexRangeget_node_bake_frame_range (const Scene &scene, const Object &object, const NodesModifierData &nmd, int node_id)
 
std::optional< std::string > get_modifier_bake_path (const Main &bmain, const Object &object, const NodesModifierData &nmd)
 
std::string get_default_modifier_bake_directory (const Main &bmain, const Object &object, const NodesModifierData &nmd)
 
std::string get_default_node_bake_directory (const Main &bmain, const Object &object, const NodesModifierData &nmd, int node_id)
 
NodesModifierPackedBakepack_bake_from_disk (const BakePath &bake_path, ReportList *reports)
 
bool unpack_bake_to_disk (const NodesModifierPackedBake &packed_bake, const BakePath &bake_path, ReportList *reports)
 
PackGeometryNodesBakeResult pack_geometry_nodes_bake (Main &bmain, ReportList *reports, Object &object, NodesModifierData &nmd, NodesModifierBake &bake)
 
UnpackGeometryNodesBakeResult unpack_geometry_nodes_bake (Main &bmain, ReportList *reports, Object &object, NodesModifierData &nmd, NodesModifierBake &bake, ePF_FileStatus how)
 
std::string frame_to_file_name (const SubFrame &frame)
 
std::optional< SubFramefile_name_to_frame (const StringRef file_name)
 
Vector< MetaFilefind_sorted_meta_files (const StringRefNull meta_dir)
 
void serialize_bake (const BakeState &bake_state, BlobWriter &blob_writer, BlobWriteSharing &blob_sharing, std::ostream &r_stream)
 
std::optional< BakeStatedeserialize_bake (std::istream &stream, const BlobReader &blob_reader, const BlobReadSharing &blob_sharing)
 
Array< std::unique_ptr< BakeItem > > move_socket_values_to_bake_items (Span< void * > socket_values, const BakeSocketConfig &config, BakeDataBlockMap *data_block_map)
 
void move_bake_items_to_socket_values (Span< BakeItem * > bake_items, const BakeSocketConfig &config, BakeDataBlockMap *data_block_map, FunctionRef< std::shared_ptr< AttributeFieldInput >(int socket_index, const CPPType &)> make_attribute_field, Span< void * > r_socket_values)
 
void copy_bake_items_to_socket_values (Span< const BakeItem * > bake_items, const BakeSocketConfig &config, BakeDataBlockMap *data_block_map, FunctionRef< std::shared_ptr< AttributeFieldInput >(int, const CPPType &)> make_attribute_field, Span< void * > r_socket_values)
 
std::ostream & operator<< (std::ostream &stream, const BakeDataBlockID &id)
 
static IndexRange fix_frame_range (const int start, const int end)
 
static std::string escape_name (const StringRef name)
 
static std::string get_blend_file_name (const Main &bmain)
 
static std::string get_modifier_directory_name (const Object &object, const ModifierData &md)
 
static Vector< NodesModifierBakeFilepack_files_from_directory (const StringRefNull directory, ReportList *reports)
 
static bool directory_is_empty (const blender::StringRefNull path)
 
static bool disk_bake_exists (const blender::bke::bake::BakePath &path)
 
static std::unique_ptr< BakeMaterialsListmaterials_to_weak_references (Material ***materials, short *materials_num, BakeDataBlockMap *data_block_map)
 
static void restore_materials (Material ***materials, short *materials_num, std::unique_ptr< BakeMaterialsList > materials_list, BakeDataBlockMap *data_block_map)
 
static std::string make_independent_file_name (const StringRef base_name, const int file_index, const StringRef extension)
 
static StringRefNull get_endian_io_name (const int endian)
 
static StringRefNull get_domain_io_name (const AttrDomain domain)
 
static StringRefNull get_data_type_io_name (const eCustomDataType data_type)
 
static std::optional< AttrDomainget_domain_from_io_name (const StringRefNull io_name)
 
static std::optional< eCustomDataTypeget_data_type_from_io_name (const StringRefNull io_name)
 
static std::shared_ptr< DictionaryValuewrite_blob_raw_data_with_endian (BlobWriter &blob_writer, BlobWriteSharing &blob_sharing, const void *data, const int64_t size_in_bytes)
 
static bool read_blob_raw_data_with_endian (const BlobReader &blob_reader, const DictionaryValue &io_data, const int64_t element_size, const int64_t elements_num, void *r_data)
 
static std::shared_ptr< DictionaryValuewrite_blob_raw_bytes (BlobWriter &blob_writer, BlobWriteSharing &blob_sharing, const void *data, const int64_t size_in_bytes)
 
static bool read_blob_raw_bytes (const BlobReader &blob_reader, const DictionaryValue &io_data, const int64_t bytes_num, void *r_data)
 
static std::shared_ptr< DictionaryValuewrite_blob_simple_gspan (BlobWriter &blob_writer, BlobWriteSharing &blob_sharing, const GSpan data)
 
static bool read_blob_simple_gspan (const BlobReader &blob_reader, const DictionaryValue &io_data, GMutableSpan r_data)
 
static std::shared_ptr< DictionaryValuewrite_blob_shared_simple_gspan (BlobWriter &blob_writer, BlobWriteSharing &blob_sharing, const GSpan data, const ImplicitSharingInfo *sharing_info)
 
static const void * read_blob_shared_simple_gspan (const DictionaryValue &io_data, const BlobReader &blob_reader, const BlobReadSharing &blob_sharing, const CPPType &cpp_type, const int size, const ImplicitSharingInfo **r_sharing_info)
 
template<typename T >
static bool read_blob_shared_simple_span (const DictionaryValue &io_data, const BlobReader &blob_reader, const BlobReadSharing &blob_sharing, const int size, T **r_data, const ImplicitSharingInfo **r_sharing_info)
 
static bool load_materials (const io::serialize::ArrayValue &io_materials, std::unique_ptr< BakeMaterialsList > &materials)
 
static bool load_attributes (const io::serialize::ArrayValue &io_attributes, MutableAttributeAccessor &attributes, const BlobReader &blob_reader, const BlobReadSharing &blob_sharing)
 
static PointCloudtry_load_pointcloud (const DictionaryValue &io_geometry, const BlobReader &blob_reader, const BlobReadSharing &blob_sharing)
 
static std::optional< CurvesGeometrytry_load_curves_geometry (const DictionaryValue &io_curves, const BlobReader &blob_reader, const BlobReadSharing &blob_sharing)
 
static Curvestry_load_curves (const DictionaryValue &io_geometry, const BlobReader &blob_reader, const BlobReadSharing &blob_sharing)
 
static GreasePenciltry_load_grease_pencil (const DictionaryValue &io_geometry, const BlobReader &blob_reader, const BlobReadSharing &blob_sharing)
 
static Meshtry_load_mesh (const DictionaryValue &io_geometry, const BlobReader &blob_reader, const BlobReadSharing &blob_sharing)
 
static GeometrySet load_geometry (const DictionaryValue &io_geometry, const BlobReader &blob_reader, const BlobReadSharing &blob_sharing)
 
static std::unique_ptr< Instancestry_load_instances (const DictionaryValue &io_geometry, const BlobReader &blob_reader, const BlobReadSharing &blob_sharing)
 
static std::shared_ptr< io::serialize::ArrayValueserialize_materials (const std::unique_ptr< BakeMaterialsList > &materials)
 
static std::shared_ptr< io::serialize::ArrayValueserialize_attributes (const AttributeAccessor &attributes, BlobWriter &blob_writer, BlobWriteSharing &blob_sharing, const Set< std::string > &attributes_to_ignore)
 
static void serialize_curves_geometry (DictionaryValue &io_curves, const CurvesGeometry &curves, BlobWriter &blob_writer, BlobWriteSharing &blob_sharing)
 
static std::shared_ptr< DictionaryValueserialize_geometry_set (const GeometrySet &geometry, BlobWriter &blob_writer, BlobWriteSharing &blob_sharing)
 
static std::shared_ptr< io::serialize::ArrayValueserialize_float_array (const Span< float > values)
 
static std::shared_ptr< io::serialize::ArrayValueserialize_int_array (const Span< int > values)
 
static std::shared_ptr< io::serialize::Valueserialize_primitive_value (const eCustomDataType data_type, const void *value_ptr)
 
template<typename T >
static bool deserialize_typed_array (const io::serialize::Value &io_value, FunctionRef< std::optional< T >(const io::serialize::Value &io_element)> fn, MutableSpan< T > r_values)
 
template<typename T >
static std::optional< Tdeserialize_int (const io::serialize::Value &io_value)
 
static std::optional< floatdeserialize_float (const io::serialize::Value &io_value)
 
static bool deserialize_float_array (const io::serialize::Value &io_value, MutableSpan< float > r_values)
 
template<typename T >
static bool deserialize_int_array (const io::serialize::Value &io_value, MutableSpan< T > r_values)
 
static bool deserialize_primitive_value (const io::serialize::Value &io_value, const eCustomDataType type, void *r_value)
 
static void serialize_bake_item (const BakeItem &item, BlobWriter &blob_writer, BlobWriteSharing &blob_sharing, DictionaryValue &r_io_item)
 
static std::unique_ptr< BakeItemdeserialize_bake_item (const DictionaryValue &io_item, const BlobReader &blob_reader, const BlobReadSharing &blob_sharing)
 
Array< std::unique_ptr< BakeItem > > move_socket_values_to_bake_items (const Span< void * > socket_values, const BakeSocketConfig &config, BakeDataBlockMap *data_block_map)
 
static bool copy_bake_item_to_socket_value (const BakeItem &bake_item, const eNodeSocketDatatype socket_type, const FunctionRef< std::shared_ptr< AttributeFieldInput >(const CPPType &type)> make_attribute_field, Map< std::string, std::string > &r_attribute_map, void *r_value)
 
static void rename_attributes (const Span< GeometrySet * > geometries, const Map< std::string, std::string > &attribute_map)
 
static void restore_data_blocks (const Span< GeometrySet * > geometries, BakeDataBlockMap *data_block_map)
 
static void default_initialize_socket_value (const eNodeSocketDatatype socket_type, void *r_value)
 
void move_bake_items_to_socket_values (const Span< BakeItem * > bake_items, const BakeSocketConfig &config, BakeDataBlockMap *data_block_map, FunctionRef< std::shared_ptr< AttributeFieldInput >(int, const CPPType &)> make_attribute_field, const Span< void * > r_socket_values)
 
void copy_bake_items_to_socket_values (const Span< const BakeItem * > bake_items, const BakeSocketConfig &config, BakeDataBlockMap *data_block_map, FunctionRef< std::shared_ptr< AttributeFieldInput >(int, const CPPType &)> make_attribute_field, const Span< void * > r_socket_values)
 

Variables

static constexpr int bake_file_version = 3
 

Typedef Documentation

◆ DictionaryValuePtr

typedef std::shared_ptr< DictionaryValue > blender::bke::bake::DictionaryValuePtr = std::shared_ptr<DictionaryValue>

Definition at line 24 of file bake_items.cc.

Enumeration Type Documentation

◆ CacheStatus

Enumerator
Valid 

The cache is up-to-date with the inputs.

Invalid 

Nodes or input values have changed since the cache was created, i.e. the output would be different if the simulation was run again.

Baked 

The cache has been baked and will not be invalidated by changing inputs.

Definition at line 22 of file BKE_bake_geometry_nodes_modifier.hh.

◆ PackGeometryNodesBakeResult

Enumerator
NoDataFound 
PackedAlready 
Success 

Definition at line 23 of file BKE_bake_geometry_nodes_modifier_pack.hh.

◆ UnpackGeometryNodesBakeResult

Enumerator
BlendFileNotSaved 
NoPackedData 
Error 
Success 

Definition at line 35 of file BKE_bake_geometry_nodes_modifier_pack.hh.

Function Documentation

◆ copy_bake_item_to_socket_value()

static bool blender::bke::bake::copy_bake_item_to_socket_value ( const BakeItem & bake_item,
const eNodeSocketDatatype socket_type,
const FunctionRef< std::shared_ptr< AttributeFieldInput >(const CPPType &type)> make_attribute_field,
Map< std::string, std::string > & r_attribute_map,
void * r_value )
staticnodiscard

◆ copy_bake_items_to_socket_values() [1/2]

void blender::bke::bake::copy_bake_items_to_socket_values ( const Span< const BakeItem * > bake_items,
const BakeSocketConfig & config,
BakeDataBlockMap * data_block_map,
FunctionRef< std::shared_ptr< AttributeFieldInput >(int, const CPPType &)> make_attribute_field,
const Span< void * > r_socket_values )

◆ copy_bake_items_to_socket_values() [2/2]

void blender::bke::bake::copy_bake_items_to_socket_values ( Span< const BakeItem * > bake_items,
const BakeSocketConfig & config,
BakeDataBlockMap * data_block_map,
FunctionRef< std::shared_ptr< AttributeFieldInput >(int, const CPPType &)> make_attribute_field,
Span< void * > r_socket_values )

Similar to move_bake_items_to_socket_values, but does not change the bake items. Hence, this should be used when the bake items are still used later on.

Referenced by blender::nodes::node_geo_bake_cc::LazyFunctionForBakeNode::copy_bake_state_to_values(), and blender::nodes::node_geo_simulation_cc::copy_simulation_state_to_values().

◆ default_initialize_socket_value()

◆ deserialize_bake()

◆ deserialize_bake_item()

static std::unique_ptr< BakeItem > blender::bke::bake::deserialize_bake_item ( const DictionaryValue & io_item,
const BlobReader & blob_reader,
const BlobReadSharing & blob_sharing )
static

◆ deserialize_float()

static std::optional< float > blender::bke::bake::deserialize_float ( const io::serialize::Value & io_value)
static

◆ deserialize_float_array()

static bool blender::bke::bake::deserialize_float_array ( const io::serialize::Value & io_value,
MutableSpan< float > r_values )
staticnodiscard

◆ deserialize_int()

template<typename T >
static std::optional< T > blender::bke::bake::deserialize_int ( const io::serialize::Value & io_value)
static

◆ deserialize_int_array()

template<typename T >
static bool blender::bke::bake::deserialize_int_array ( const io::serialize::Value & io_value,
MutableSpan< T > r_values )
staticnodiscard

Definition at line 1360 of file bake_items_serialize.cc.

References deserialize_int_array().

Referenced by deserialize_int_array().

◆ deserialize_primitive_value()

◆ deserialize_typed_array()

template<typename T >
static bool blender::bke::bake::deserialize_typed_array ( const io::serialize::Value & io_value,
FunctionRef< std::optional< T >(const io::serialize::Value &io_element)> fn,
MutableSpan< T > r_values )
staticnodiscard

◆ directory_is_empty()

static bool blender::bke::bake::directory_is_empty ( const blender::StringRefNull path)
static

◆ disk_bake_exists()

static bool blender::bke::bake::disk_bake_exists ( const blender::bke::bake::BakePath & path)
static

◆ escape_name()

static std::string blender::bke::bake::escape_name ( const StringRef name)
static

Turn the name into something that can be used as file name. It does not necessarily have to be human readable, but it can help if it is at least partially readable.

Definition at line 203 of file bake_geometry_nodes_modifier.cc.

References int.

Referenced by get_modifier_directory_name().

◆ file_name_to_frame()

std::optional< SubFrame > blender::bke::bake::file_name_to_frame ( const StringRef file_name)

◆ find_sorted_meta_files()

◆ fix_frame_range()

static IndexRange blender::bke::bake::fix_frame_range ( const int start,
const int end )
static

Definition at line 175 of file bake_geometry_nodes_modifier.cc.

Referenced by get_node_bake_frame_range().

◆ frame_to_file_name()

std::string blender::bke::bake::frame_to_file_name ( const SubFrame & frame)

◆ get_blend_file_name()

◆ get_data_type_from_io_name()

static std::optional< eCustomDataType > blender::bke::bake::get_data_type_from_io_name ( const StringRefNull io_name)
static

◆ get_data_type_io_name()

static StringRefNull blender::bke::bake::get_data_type_io_name ( const eCustomDataType data_type)
static

◆ get_default_modifier_bake_directory()

std::string blender::bke::bake::get_default_modifier_bake_directory ( const Main & bmain,
const Object & object,
const NodesModifierData & nmd )

◆ get_default_node_bake_directory()

std::string blender::bke::bake::get_default_node_bake_directory ( const Main & bmain,
const Object & object,
const NodesModifierData & nmd,
int node_id )

◆ get_domain_from_io_name()

static std::optional< AttrDomain > blender::bke::bake::get_domain_from_io_name ( const StringRefNull io_name)
static

◆ get_domain_io_name()

static StringRefNull blender::bke::bake::get_domain_io_name ( const AttrDomain domain)
static

◆ get_endian_io_name()

static StringRefNull blender::bke::bake::get_endian_io_name ( const int endian)
static

◆ get_modifier_bake_path()

std::optional< std::string > blender::bke::bake::get_modifier_bake_path ( const Main & bmain,
const Object & object,
const NodesModifierData & nmd )

◆ get_modifier_directory_name()

static std::string blender::bke::bake::get_modifier_directory_name ( const Object & object,
const ModifierData & md )
static

◆ get_node_bake_frame_range()

◆ get_node_bake_path()

◆ get_node_bake_target()

◆ load_attributes()

◆ load_geometry()

static GeometrySet blender::bke::bake::load_geometry ( const DictionaryValue & io_geometry,
const BlobReader & blob_reader,
const BlobReadSharing & blob_sharing )
static

◆ load_materials()

static bool blender::bke::bake::load_materials ( const io::serialize::ArrayValue & io_materials,
std::unique_ptr< BakeMaterialsList > & materials )
staticnodiscard

◆ make_independent_file_name()

static std::string blender::bke::bake::make_independent_file_name ( const StringRef base_name,
const int file_index,
const StringRef extension )
static

◆ materials_to_weak_references()

static std::unique_ptr< BakeMaterialsList > blender::bke::bake::materials_to_weak_references ( Material *** materials,
short * materials_num,
BakeDataBlockMap * data_block_map )
static

◆ move_bake_items_to_socket_values() [1/2]

void blender::bke::bake::move_bake_items_to_socket_values ( const Span< BakeItem * > bake_items,
const BakeSocketConfig & config,
BakeDataBlockMap * data_block_map,
FunctionRef< std::shared_ptr< AttributeFieldInput >(int, const CPPType &)> make_attribute_field,
const Span< void * > r_socket_values )

◆ move_bake_items_to_socket_values() [2/2]

void blender::bke::bake::move_bake_items_to_socket_values ( Span< BakeItem * > bake_items,
const BakeSocketConfig & config,
BakeDataBlockMap * data_block_map,
FunctionRef< std::shared_ptr< AttributeFieldInput >(int socket_index, const CPPType &)> make_attribute_field,
Span< void * > r_socket_values )

Create socket values from bake items.

  • The data stored in the bake items may be in a moved-from state afterwards. Therefore, this should only be used when the bake items are not needed afterwards anymore.
  • If a socket does not have a corresponding bake item, it's initialized to its default value.
Parameters
make_attribute_fieldA function that creates a field input for any anonymous attributes being created for the baked data.
r_socket_valuesThe caller is expected to allocate (but not construct) the output values. All socket values are constructed in this function.

Referenced by blender::nodes::node_geo_bake_cc::LazyFunctionForBakeNode::move_bake_state_to_values(), and blender::nodes::node_geo_simulation_cc::move_simulation_state_to_values().

◆ move_socket_values_to_bake_items() [1/2]

◆ move_socket_values_to_bake_items() [2/2]

Array< std::unique_ptr< BakeItem > > blender::bke::bake::move_socket_values_to_bake_items ( Span< void * > socket_values,
const BakeSocketConfig & config,
BakeDataBlockMap * data_block_map )

Create new bake items from the socket values. The socket values are not destructed, but they may be in a moved-from state afterwards.

Referenced by blender::nodes::node_geo_bake_cc::LazyFunctionForBakeNode::get_bake_state_from_inputs(), and blender::nodes::node_geo_simulation_cc::move_values_to_simulation_state().

◆ operator<<()

std::ostream & blender::bke::bake::operator<< ( std::ostream & stream,
const BakeDataBlockID & id )

Definition at line 37 of file bake_data_block_map.cc.

◆ pack_bake_from_disk()

◆ pack_files_from_directory()

◆ pack_geometry_nodes_bake()

◆ read_blob_raw_bytes()

static bool blender::bke::bake::read_blob_raw_bytes ( const BlobReader & blob_reader,
const DictionaryValue & io_data,
const int64_t bytes_num,
void * r_data )
staticnodiscard

Read bytes ignoring endianness.

Definition at line 397 of file bake_items_serialize.cc.

References blender::bke::bake::BlobSlice::deserialize(), and blender::bke::bake::BlobReader::read().

Referenced by read_blob_simple_gspan().

◆ read_blob_raw_data_with_endian()

static bool blender::bke::bake::read_blob_raw_data_with_endian ( const BlobReader & blob_reader,
const DictionaryValue & io_data,
const int64_t element_size,
const int64_t elements_num,
void * r_data )
staticnodiscard

◆ read_blob_shared_simple_gspan()

static const void * blender::bke::bake::read_blob_shared_simple_gspan ( const DictionaryValue & io_data,
const BlobReader & blob_reader,
const BlobReadSharing & blob_sharing,
const CPPType & cpp_type,
const int size,
const ImplicitSharingInfo ** r_sharing_info )
staticnodiscard

◆ read_blob_shared_simple_span()

template<typename T >
static bool blender::bke::bake::read_blob_shared_simple_span ( const DictionaryValue & io_data,
const BlobReader & blob_reader,
const BlobReadSharing & blob_sharing,
const int size,
T ** r_data,
const ImplicitSharingInfo ** r_sharing_info )
staticnodiscard

◆ read_blob_simple_gspan()

◆ rename_attributes()

◆ restore_data_blocks()

static void blender::bke::bake::restore_data_blocks ( const Span< GeometrySet * > geometries,
BakeDataBlockMap * data_block_map )
static

◆ restore_materials()

static void blender::bke::bake::restore_materials ( Material *** materials,
short * materials_num,
std::unique_ptr< BakeMaterialsList > materials_list,
BakeDataBlockMap * data_block_map )
static

◆ scene_simulation_states_reset()

void blender::bke::bake::scene_simulation_states_reset ( Scene & scene)

Reset all simulation caches in the scene, for use when some fundamental change made them impossible to reuse.

Definition at line 84 of file bake_geometry_nodes_modifier.cc.

References eModifierType_Nodes, FOREACH_SCENE_OBJECT_BEGIN, FOREACH_SCENE_OBJECT_END, LISTBASE_FOREACH, and NodesModifierData::runtime.

◆ serialize_attributes()

◆ serialize_bake()

◆ serialize_bake_item()

◆ serialize_curves_geometry()

static void blender::bke::bake::serialize_curves_geometry ( DictionaryValue & io_curves,
const CurvesGeometry & curves,
BlobWriter & blob_writer,
BlobWriteSharing & blob_sharing )
static

◆ serialize_float_array()

static std::shared_ptr< io::serialize::ArrayValue > blender::bke::bake::serialize_float_array ( const Span< float > values)
static

◆ serialize_geometry_set()

◆ serialize_int_array()

static std::shared_ptr< io::serialize::ArrayValue > blender::bke::bake::serialize_int_array ( const Span< int > values)
static

Definition at line 1241 of file bake_items_serialize.cc.

References serialize_int_array().

Referenced by serialize_int_array(), and serialize_primitive_value().

◆ serialize_materials()

static std::shared_ptr< io::serialize::ArrayValue > blender::bke::bake::serialize_materials ( const std::unique_ptr< BakeMaterialsList > & materials)
static

Definition at line 1008 of file bake_items_serialize.cc.

References serialize_materials().

Referenced by serialize_geometry_set(), and serialize_materials().

◆ serialize_primitive_value()

◆ try_load_curves()

static Curves * blender::bke::bake::try_load_curves ( const DictionaryValue & io_geometry,
const BlobReader & blob_reader,
const BlobReadSharing & blob_sharing )
static

◆ try_load_curves_geometry()

◆ try_load_grease_pencil()

◆ try_load_instances()

◆ try_load_mesh()

◆ try_load_pointcloud()

◆ unpack_bake_to_disk()

◆ unpack_geometry_nodes_bake()

◆ write_blob_raw_bytes()

static std::shared_ptr< DictionaryValue > blender::bke::bake::write_blob_raw_bytes ( BlobWriter & blob_writer,
BlobWriteSharing & blob_sharing,
const void * data,
const int64_t size_in_bytes )
static

Write bytes ignoring endianness.

Definition at line 388 of file bake_items_serialize.cc.

References blender::bke::bake::BlobWriteSharing::write_deduplicated().

Referenced by serialize_bake_item(), and write_blob_simple_gspan().

◆ write_blob_raw_data_with_endian()

static std::shared_ptr< DictionaryValue > blender::bke::bake::write_blob_raw_data_with_endian ( BlobWriter & blob_writer,
BlobWriteSharing & blob_sharing,
const void * data,
const int64_t size_in_bytes )
static

◆ write_blob_shared_simple_gspan()

static std::shared_ptr< DictionaryValue > blender::bke::bake::write_blob_shared_simple_gspan ( BlobWriter & blob_writer,
BlobWriteSharing & blob_sharing,
const GSpan data,
const ImplicitSharingInfo * sharing_info )
static

◆ write_blob_simple_gspan()

static std::shared_ptr< DictionaryValue > blender::bke::bake::write_blob_simple_gspan ( BlobWriter & blob_writer,
BlobWriteSharing & blob_sharing,
const GSpan data )
static

Variable Documentation

◆ bake_file_version

int blender::bke::bake::bake_file_version = 3
staticconstexpr

Definition at line 1579 of file bake_items_serialize.cc.

Referenced by deserialize_bake(), and serialize_bake().