Blender V5.0
blender::nodes::node_composite_vec_blur_cc Namespace Reference

Classes

struct  MotionRect
struct  MotionLine
struct  Accumulator
class  VectorBlurOperation

Functions

static void cmp_node_vec_blur_declare (NodeDeclarationBuilder &b)
static float2 max_velocity (const float2 &a, const float2 &b)
static uint32_t velocity_atomic_max_value (const float2 &value, const int2 &texel)
static float2 max_velocity_approximate (const float2 &a, const float2 &b, const int2 &a_texel, const int2 &b_texel)
static Result compute_max_tile_velocity_cpu (Context &context, const Result &velocity_image)
static MotionRect compute_motion_rect (const int2 &tile, const float2 &motion, const int2 &size)
static MotionLine compute_motion_line (const int2 &tile, const float2 &motion)
static bool is_inside_motion_line (const int2 &tile, const MotionLine &motion_line)
static Result dilate_max_velocity_cpu (Context &context, const Result &max_tile_velocity, const float shutter_speed)
static float interleaved_gradient_noise (const int2 &p)
static float2 spread_compare (const float center_motion_length, const float sample_motion_length, const float offset_length)
static float2 depth_compare (const float center_depth, const float sample_depth)
static float dir_compare (const float2 &offset, const float2 &sample_motion, const float &sample_motion_length)
static float2 sample_weights (const float center_depth, const float sample_depth, const float center_motion_length, const float sample_motion_length, const float offset_length)
static void gather_sample (const Result &input_image, const Result &input_depth, const Result &input_velocity, const int2 &size, const float2 &screen_uv, const float center_depth, const float center_motion_len, const float2 &offset, const float offset_len, const bool next, const float shutter_speed, Accumulator &accum)
static void gather_blur (const Result &input_image, const Result &input_depth, const Result &input_velocity, const int2 &size, const float2 &screen_uv, const float2 &center_motion, const float center_depth, const float2 &max_motion, const float ofs, const bool next, const int samples_count, const float shutter_speed, Accumulator &accum)
static void motion_blur_cpu (const Result &input_image, const Result &input_depth, const Result &input_velocity, const Result &max_velocity, Result &output, const int samples_count, const float shutter_speed)
static NodeOperationget_compositor_operation (Context &context, DNode node)

Function Documentation

◆ cmp_node_vec_blur_declare()

void blender::nodes::node_composite_vec_blur_cc::cmp_node_vec_blur_declare ( NodeDeclarationBuilder & b)
static

◆ compute_max_tile_velocity_cpu()

◆ compute_motion_line()

MotionLine blender::nodes::node_composite_vec_blur_cc::compute_motion_line ( const int2 & tile,
const float2 & motion )
static

◆ compute_motion_rect()

◆ depth_compare()

float2 blender::nodes::node_composite_vec_blur_cc::depth_compare ( const float center_depth,
const float sample_depth )
static

Definition at line 270 of file node_composite_vec_blur.cc.

References blender::math::clamp(), and DEPTH_SCALE.

Referenced by sample_weights().

◆ dilate_max_velocity_cpu()

◆ dir_compare()

float blender::nodes::node_composite_vec_blur_cc::dir_compare ( const float2 & offset,
const float2 & sample_motion,
const float & sample_motion_length )
static

Definition at line 277 of file node_composite_vec_blur.cc.

References blender::math::dot().

Referenced by gather_sample().

◆ gather_blur()

void blender::nodes::node_composite_vec_blur_cc::gather_blur ( const Result & input_image,
const Result & input_depth,
const Result & input_velocity,
const int2 & size,
const float2 & screen_uv,
const float2 & center_motion,
const float center_depth,
const float2 & max_motion,
const float ofs,
const bool next,
const int samples_count,
const float shutter_speed,
Accumulator & accum )
static

Definition at line 344 of file node_composite_vec_blur.cc.

References float, gather_sample(), i, blender::math::length(), next, and size().

◆ gather_sample()

void blender::nodes::node_composite_vec_blur_cc::gather_sample ( const Result & input_image,
const Result & input_depth,
const Result & input_velocity,
const int2 & size,
const float2 & screen_uv,
const float center_depth,
const float center_motion_len,
const float2 & offset,
const float offset_len,
const bool next,
const float shutter_speed,
Accumulator & accum )
static

◆ get_compositor_operation()

NodeOperation * blender::nodes::node_composite_vec_blur_cc::get_compositor_operation ( Context & context,
DNode node )
static

Definition at line 671 of file node_composite_vec_blur.cc.

References get_compositor_operation().

Referenced by get_compositor_operation().

◆ interleaved_gradient_noise()

float blender::nodes::node_composite_vec_blur_cc::interleaved_gradient_noise ( const int2 & p)
static

Definition at line 257 of file node_composite_vec_blur.cc.

References blender::math::fract().

◆ is_inside_motion_line()

bool blender::nodes::node_composite_vec_blur_cc::is_inside_motion_line ( const int2 & tile,
const MotionLine & motion_line )
static

◆ max_velocity()

float2 blender::nodes::node_composite_vec_blur_cc::max_velocity ( const float2 & a,
const float2 & b )
static

◆ max_velocity_approximate()

float2 blender::nodes::node_composite_vec_blur_cc::max_velocity_approximate ( const float2 & a,
const float2 & b,
const int2 & a_texel,
const int2 & b_texel )
static

Definition at line 85 of file node_composite_vec_blur.cc.

References b, and velocity_atomic_max_value().

Referenced by dilate_max_velocity_cpu().

◆ motion_blur_cpu()

void blender::nodes::node_composite_vec_blur_cc::motion_blur_cpu ( const Result & input_image,
const Result & input_depth,
const Result & input_velocity,
const Result & max_velocity,
Result & output,
const int samples_count,
const float shutter_speed )
static

◆ sample_weights()

float2 blender::nodes::node_composite_vec_blur_cc::sample_weights ( const float center_depth,
const float sample_depth,
const float center_motion_length,
const float sample_motion_length,
const float offset_length )
static

Definition at line 288 of file node_composite_vec_blur.cc.

References depth_compare(), and spread_compare().

Referenced by gather_sample().

◆ spread_compare()

float2 blender::nodes::node_composite_vec_blur_cc::spread_compare ( const float center_motion_length,
const float sample_motion_length,
const float offset_length )
static

Definition at line 262 of file node_composite_vec_blur.cc.

References blender::math::clamp().

Referenced by sample_weights().

◆ velocity_atomic_max_value()

uint32_t blender::nodes::node_composite_vec_blur_cc::velocity_atomic_max_value ( const float2 & value,
const int2 & texel )
static