Changeset View
Changeset View
Standalone View
Standalone View
source/blender/compositor/operations/COM_OutputFileOperation.cpp
| Show First 20 Lines • Show All 335 Lines • ▼ Show 20 Lines | |||||
| { | { | ||||
| /* StampData API doesn't provide functions to modify an instance without having a RenderResult. | /* StampData API doesn't provide functions to modify an instance without having a RenderResult. | ||||
| */ | */ | ||||
| RenderResult render_result; | RenderResult render_result; | ||||
| StampData *stamp_data = BKE_stamp_info_from_scene_static(m_scene); | StampData *stamp_data = BKE_stamp_info_from_scene_static(m_scene); | ||||
| render_result.stamp_data = stamp_data; | render_result.stamp_data = stamp_data; | ||||
| for (int i = 0; i < this->m_layers.size(); i++) { | for (int i = 0; i < this->m_layers.size(); i++) { | ||||
| const OutputOpenExrLayer *layer = &this->m_layers[i]; | const OutputOpenExrLayer *layer = &this->m_layers[i]; | ||||
| /* Skip unconnected sockets. */ | |||||
| if (layer->imageInput == nullptr) { | |||||
| continue; | |||||
| } | |||||
| std::unique_ptr<MetaData> meta_data = layer->imageInput->getMetaData(); | std::unique_ptr<MetaData> meta_data = layer->imageInput->getMetaData(); | ||||
| if (meta_data) { | if (meta_data) { | ||||
| blender::StringRef layer_name = blender::BKE_cryptomatte_extract_layer_name( | blender::StringRef layer_name = blender::BKE_cryptomatte_extract_layer_name( | ||||
| blender::StringRef(layer->name, BLI_strnlen(layer->name, sizeof(layer->name)))); | blender::StringRef(layer->name, BLI_strnlen(layer->name, sizeof(layer->name)))); | ||||
| meta_data->replaceHashNeutralCryptomatteKeys(layer_name); | meta_data->replaceHashNeutralCryptomatteKeys(layer_name); | ||||
| meta_data->addToRenderResult(&render_result); | meta_data->addToRenderResult(&render_result); | ||||
| } | } | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 88 Lines • Show Last 20 Lines | |||||