Blender  V2.93
Classes | Enumerations | Functions
merge.cpp File Reference
#include "render/merge.h"
#include "util/util_array.h"
#include "util/util_map.h"
#include "util/util_system.h"
#include "util/util_time.h"
#include "util/util_unique_ptr.h"
#include <OpenImageIO/filesystem.h>
#include <OpenImageIO/imageio.h>

Go to the source code of this file.

Classes

struct  MergeImagePass
 
struct  MergeImageLayer
 
struct  MergeImage
 

Enumerations

enum  MergeChannelOp { MERGE_CHANNEL_NOP , MERGE_CHANNEL_COPY , MERGE_CHANNEL_SUM , MERGE_CHANNEL_AVERAGE }
 

Functions

static MergeChannelOp parse_channel_operation (const string &pass_name)
 
static bool split_last_dot (string &in, string &suffix)
 
static bool parse_channel_name (string name, string &renderlayer, string &pass, string &channel, bool multiview_channels)
 
static bool parse_channels (const ImageSpec &in_spec, vector< MergeImageLayer > &layers, string &error)
 
static bool open_images (const vector< string > &filepaths, vector< MergeImage > &images, string &error)
 
static void merge_render_time (ImageSpec &spec, const vector< MergeImage > &images, const string &name, const bool average)
 
static void merge_layer_render_time (ImageSpec &spec, const vector< MergeImage > &images, const string &layer_name, const string &time_name, const bool average)
 
static void merge_channels_metadata (vector< MergeImage > &images, ImageSpec &out_spec, vector< int > &channel_total_samples)
 
static void alloc_pixels (const ImageSpec &spec, array< float > &pixels)
 
static bool merge_pixels (const vector< MergeImage > &images, const ImageSpec &out_spec, const vector< int > &channel_total_samples, array< float > &out_pixels, string &error)
 
static bool save_output (const string &filepath, const ImageSpec &spec, const array< float > &pixels, string &error)
 

Enumeration Type Documentation

◆ MergeChannelOp

Enumerator
MERGE_CHANNEL_NOP 
MERGE_CHANNEL_COPY 
MERGE_CHANNEL_SUM 
MERGE_CHANNEL_AVERAGE 

Definition at line 34 of file merge.cpp.

Function Documentation

◆ alloc_pixels()

static void alloc_pixels ( const ImageSpec &  spec,
array< float > &  pixels 
)
static

Definition at line 352 of file merge.cpp.

References height, array< T, alignment >::resize(), and width.

Referenced by merge_pixels().

◆ merge_channels_metadata()

static void merge_channels_metadata ( vector< MergeImage > &  images,
ImageSpec &  out_spec,
vector< int > &  channel_total_samples 
)
static

◆ merge_layer_render_time()

static void merge_layer_render_time ( ImageSpec &  spec,
const vector< MergeImage > &  images,
const string &  layer_name,
const string &  time_name,
const bool  average 
)
static

◆ merge_pixels()

static bool merge_pixels ( const vector< MergeImage > &  images,
const ImageSpec &  out_spec,
const vector< int > &  channel_total_samples,
array< float > &  out_pixels,
string &  error 
)
static

◆ merge_render_time()

static void merge_render_time ( ImageSpec &  spec,
const vector< MergeImage > &  images,
const string &  name,
const bool  average 
)
static

◆ open_images()

static bool open_images ( const vector< string > &  filepaths,
vector< MergeImage > &  images,
string &  error 
)
static

Definition at line 202 of file merge.cpp.

References error(), MergeImage::filepath, MergeImage::in, MergeImage::layers, and parse_channels().

Referenced by ImageMerger::run().

◆ parse_channel_name()

static bool parse_channel_name ( string  name,
string &  renderlayer,
string &  pass,
string &  channel,
bool  multiview_channels 
)
static

Definition at line 108 of file merge.cpp.

References split_last_dot(), and view.

Referenced by parse_channels().

◆ parse_channel_operation()

static MergeChannelOp parse_channel_operation ( const string &  pass_name)
static

Definition at line 76 of file merge.cpp.

References MERGE_CHANNEL_AVERAGE, MERGE_CHANNEL_COPY, MERGE_CHANNEL_SUM, and string_startswith().

Referenced by parse_channels().

◆ parse_channels()

static bool parse_channels ( const ImageSpec &  in_spec,
vector< MergeImageLayer > &  layers,
string &  error 
)
static

◆ save_output()

static bool save_output ( const string &  filepath,
const ImageSpec &  spec,
const array< float > &  pixels,
string &  error 
)
static

Definition at line 424 of file merge.cpp.

References array< T, alignment >::data(), error(), and unique_name().

Referenced by ImageMerger::run().

◆ split_last_dot()

static bool split_last_dot ( string &  in,
string &  suffix 
)
static

Definition at line 94 of file merge.cpp.

References pos.

Referenced by parse_channel_name().