Blender V5.0
blender::bke::bake Namespace Reference

Classes

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

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 (StringRef file_name)
Vector< MetaFilefind_sorted_meta_files (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 (MutableSpan< SocketValueVariant > socket_values, const BakeSocketConfig &config, BakeDataBlockMap *data_block_map)
Vector< SocketValueVariantmove_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)
Vector< SocketValueVariantcopy_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)
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 prepare_geometry_for_bake_recursive (GeometrySet &geometry, BakeDataBlockMap *data_block_map)
static void restore_materials (Material ***materials, short *materials_num, std::unique_ptr< BakeMaterialsList > materials_list, BakeDataBlockMap *data_block_map)
static void restore_data_blocks_recursive (GeometrySet &geometry, 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)
static void capture_field_on_geometry_components (GeometrySet &geometry, const fn::GField &field, const AttrDomain domain, const StringRef attribute_name)
static std::unique_ptr< BakeItemmove_common_socket_value_to_bake_item (const bNodeSocketType &stype, SocketValueVariant &socket_value, std::optional< StringRef > name, Vector< GeometryBakeItem * > &r_geometry_bake_items)
static std::optional< SocketValueVariantcopy_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, BakeDataBlockMap *data_block_map, Map< std::string, std::string > &r_attribute_map)
static void rename_attributes (const Span< GeometrySet * > geometries, const Map< std::string, std::string > &attribute_map)
static SocketValueVariant default_initialize_socket_value (const eNodeSocketDatatype socket_type)
Vector< SocketValueVariantmove_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)
Vector< SocketValueVariantcopy_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)

Variables

static constexpr int bake_file_version = 3

Typedef Documentation

◆ DictionaryValuePtr

Definition at line 23 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 27 of file BKE_bake_geometry_nodes_modifier.hh.

◆ PackGeometryNodesBakeResult

Enumerator
NoDataFound 
PackedAlready 
Success 

Definition at line 27 of file BKE_bake_geometry_nodes_modifier_pack.hh.

◆ UnpackGeometryNodesBakeResult

Enumerator
BlendFileNotSaved 
NoPackedData 
Error 
Success 

Definition at line 39 of file BKE_bake_geometry_nodes_modifier_pack.hh.

Function Documentation

◆ capture_field_on_geometry_components()

void blender::bke::bake::capture_field_on_geometry_components ( GeometrySet & geometry,
const fn::GField & field,
const AttrDomain domain,
const StringRef attribute_name )
static

◆ copy_bake_item_to_socket_value()

◆ copy_bake_items_to_socket_values() [1/2]

◆ copy_bake_items_to_socket_values() [2/2]

Vector< SocketValueVariant > 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 )

◆ default_initialize_socket_value()

◆ deserialize_bake()

◆ deserialize_bake_item()

◆ deserialize_float()

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

◆ deserialize_float_array()

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

◆ deserialize_int()

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

◆ deserialize_int_array()

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

◆ deserialize_primitive_value()

◆ deserialize_typed_array()

template<typename T>
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()

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

◆ disk_bake_exists()

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

◆ escape_name()

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 name.

Referenced by get_modifier_directory_name().

◆ file_name_to_frame()

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

◆ find_sorted_meta_files()

◆ fix_frame_range()

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()

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

◆ get_data_type_io_name()

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()

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

◆ get_domain_io_name()

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

◆ get_endian_io_name()

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

Definition at line 290 of file bake_items_serialize.cc.

References BLI_assert, L_ENDIAN, and UNUSED_VARS_NDEBUG.

Referenced by read_blob_raw_data_with_endian().

◆ 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()

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()

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

◆ load_materials()

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

◆ make_independent_file_name()

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()

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]

◆ move_bake_items_to_socket_values() [2/2]

Vector< SocketValueVariant > 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 )

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.

Referenced by move_bake_items_to_socket_values(), 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_common_socket_value_to_bake_item()

◆ move_socket_values_to_bake_items()

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

◆ 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()

◆ prepare_geometry_for_bake_recursive()

◆ read_blob_raw_bytes()

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 385 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()

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 data of an into an array.

Returns
True if successful, false if reading fails, or endian switch would be needed.

Definition at line 348 of file bake_items_serialize.cc.

References blender::bke::bake::BlobSlice::deserialize(), ENDIAN_ORDER, get_endian_io_name(), blender::io::serialize::DictionaryValue::lookup_str(), and blender::bke::bake::BlobReader::read().

Referenced by read_blob_simple_gspan().

◆ read_blob_shared_simple_gspan()

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>
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_recursive()

void blender::bke::bake::restore_data_blocks_recursive ( GeometrySet & geometry,
BakeDataBlockMap * data_block_map )
static

◆ restore_materials()

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()

◆ serialize_float_array()

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

◆ serialize_geometry_set()

◆ serialize_int_array()

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

Definition at line 1253 of file bake_items_serialize.cc.

References serialize_int_array().

Referenced by serialize_int_array(), and serialize_primitive_value().

◆ serialize_materials()

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

Definition at line 1012 of file bake_items_serialize.cc.

References serialize_materials().

Referenced by serialize_geometry_set(), and serialize_materials().

◆ serialize_primitive_value()

◆ try_load_curves()

◆ 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()

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 376 of file bake_items_serialize.cc.

References data, and blender::bke::bake::BlobWriteSharing::write_deduplicated().

Referenced by serialize_bake_item(), and write_blob_simple_gspan().

◆ write_blob_raw_data_with_endian()

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 the data, always in little endian.

Definition at line 332 of file bake_items_serialize.cc.

References BLI_STATIC_ASSERT, data, ENDIAN_ORDER, L_ENDIAN, and blender::bke::bake::BlobWriteSharing::write_deduplicated().

Referenced by write_blob_simple_gspan().

◆ write_blob_shared_simple_gspan()

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()

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 1642 of file bake_items_serialize.cc.

Referenced by deserialize_bake(), and serialize_bake().