Blender  V3.3
Static Public Member Functions | List of all members
CCL_NAMESPACE_BEGIN::TextureInterpolator< TexT, OutT > Struct Template Reference

#include <image.h>

Static Public Member Functions

static ccl_always_inline OutT zero ()
 
static ccl_always_inline float4 read (float4 r)
 
static ccl_always_inline float4 read (uchar4 r)
 
static ccl_always_inline float read (uchar r)
 
static ccl_always_inline float read (float r)
 
static ccl_always_inline float4 read (half4 r)
 
static ccl_always_inline float read (half r)
 
static ccl_always_inline float read (uint16_t r)
 
static ccl_always_inline float4 read (ushort4 r)
 
static ccl_always_inline OutT read (const TexT *data, int x, int y, int width, int height)
 
static ccl_always_inline OutT read_clip (const TexT *data, int x, int y, int width, int height)
 
static ccl_always_inline OutT read (const TexT *data, int x, int y, int z, int width, int height, int depth)
 
static ccl_always_inline OutT read_clip (const TexT *data, int x, int y, int z, int width, int height, int depth)
 
static ccl_always_inline OutT trilinear_lookup (const TexT *data, float tx, float ty, float tz, int ix, int iy, int iz, int nix, int niy, int niz, int width, int height, int depth, OutT read(const TexT *, int, int, int, int, int, int))
 
static ccl_always_inline OutT tricubic_lookup (const TexT *data, float tx, float ty, float tz, const int xc[4], const int yc[4], const int zc[4], int width, int height, int depth, OutT read(const TexT *, int, int, int, int, int, int))
 
static ccl_always_inline int wrap_periodic (int x, int width)
 
static ccl_always_inline int wrap_clamp (int x, int width)
 
static ccl_always_inline OutT interp_closest (const TextureInfo &info, float x, float y)
 
static ccl_always_inline OutT interp_linear (const TextureInfo &info, float x, float y)
 
static ccl_always_inline OutT interp_cubic (const TextureInfo &info, float x, float y)
 
static ccl_always_inline OutT interp (const TextureInfo &info, float x, float y)
 
static ccl_always_inline OutT interp_3d_closest (const TextureInfo &info, float x, float y, float z)
 
static ccl_always_inline OutT interp_3d_linear (const TextureInfo &info, float x, float y, float z)
 
static ccl_never_inline OutT interp_3d_cubic (const TextureInfo &info, float x, float y, float z)
 
static ccl_always_inline OutT interp_3d (const TextureInfo &info, float x, float y, float z, InterpolationType interp)
 

Detailed Description

template<typename TexT, typename OutT = float4>
struct CCL_NAMESPACE_BEGIN::TextureInterpolator< TexT, OutT >

Definition at line 34 of file cycles/kernel/device/cpu/image.h.

Member Function Documentation

◆ interp()

template<typename TexT , typename OutT = float4>
static ccl_always_inline OutT CCL_NAMESPACE_BEGIN::TextureInterpolator< TexT, OutT >::interp ( const TextureInfo info,
float  x,
float  y 
)
inlinestatic

◆ interp_3d()

template<typename TexT , typename OutT = float4>
static ccl_always_inline OutT CCL_NAMESPACE_BEGIN::TextureInterpolator< TexT, OutT >::interp_3d ( const TextureInfo info,
float  x,
float  y,
float  z,
InterpolationType  interp 
)
inlinestatic

◆ interp_3d_closest()

template<typename TexT , typename OutT = float4>
static ccl_always_inline OutT CCL_NAMESPACE_BEGIN::TextureInterpolator< TexT, OutT >::interp_3d_closest ( const TextureInfo info,
float  x,
float  y,
float  z 
)
inlinestatic

◆ interp_3d_cubic()

template<typename TexT , typename OutT = float4>
static ccl_never_inline OutT CCL_NAMESPACE_BEGIN::TextureInterpolator< TexT, OutT >::interp_3d_cubic ( const TextureInfo info,
float  x,
float  y,
float  z 
)
inlinestatic

◆ interp_3d_linear()

template<typename TexT , typename OutT = float4>
static ccl_always_inline OutT CCL_NAMESPACE_BEGIN::TextureInterpolator< TexT, OutT >::interp_3d_linear ( const TextureInfo info,
float  x,
float  y,
float  z 
)
inlinestatic

◆ interp_closest()

template<typename TexT , typename OutT = float4>
static ccl_always_inline OutT CCL_NAMESPACE_BEGIN::TextureInterpolator< TexT, OutT >::interp_closest ( const TextureInfo info,
float  x,
float  y 
)
inlinestatic

◆ interp_cubic()

template<typename TexT , typename OutT = float4>
static ccl_always_inline OutT CCL_NAMESPACE_BEGIN::TextureInterpolator< TexT, OutT >::interp_cubic ( const TextureInfo info,
float  x,
float  y 
)
inlinestatic

◆ interp_linear()

template<typename TexT , typename OutT = float4>
static ccl_always_inline OutT CCL_NAMESPACE_BEGIN::TextureInterpolator< TexT, OutT >::interp_linear ( const TextureInfo info,
float  x,
float  y 
)
inlinestatic

◆ read() [1/10]

template<typename TexT , typename OutT = float4>
static ccl_always_inline OutT CCL_NAMESPACE_BEGIN::TextureInterpolator< TexT, OutT >::read ( const TexT *  data,
int  x,
int  y,
int  width,
int  height 
)
inlinestatic

Definition at line 90 of file cycles/kernel/device/cpu/image.h.

References data, width, x, and y.

◆ read() [2/10]

template<typename TexT , typename OutT = float4>
static ccl_always_inline OutT CCL_NAMESPACE_BEGIN::TextureInterpolator< TexT, OutT >::read ( const TexT *  data,
int  x,
int  y,
int  z,
int  width,
int  height,
int  depth 
)
inlinestatic

Definition at line 108 of file cycles/kernel/device/cpu/image.h.

References data, height, width, x, y, and z.

◆ read() [3/10]

template<typename TexT , typename OutT = float4>
static ccl_always_inline float CCL_NAMESPACE_BEGIN::TextureInterpolator< TexT, OutT >::read ( float  r)
inlinestatic

Definition at line 62 of file cycles/kernel/device/cpu/image.h.

References r.

◆ read() [4/10]

template<typename TexT , typename OutT = float4>
static ccl_always_inline float4 CCL_NAMESPACE_BEGIN::TextureInterpolator< TexT, OutT >::read ( float4  r)
inlinestatic

Definition at line 46 of file cycles/kernel/device/cpu/image.h.

References r.

◆ read() [5/10]

template<typename TexT , typename OutT = float4>
static ccl_always_inline float CCL_NAMESPACE_BEGIN::TextureInterpolator< TexT, OutT >::read ( half  r)
inlinestatic

Definition at line 72 of file cycles/kernel/device/cpu/image.h.

References half_to_float_image(), and r.

◆ read() [6/10]

template<typename TexT , typename OutT = float4>
static ccl_always_inline float4 CCL_NAMESPACE_BEGIN::TextureInterpolator< TexT, OutT >::read ( half4  r)
inlinestatic

Definition at line 67 of file cycles/kernel/device/cpu/image.h.

References half4_to_float4_image(), and r.

◆ read() [7/10]

template<typename TexT , typename OutT = float4>
static ccl_always_inline float CCL_NAMESPACE_BEGIN::TextureInterpolator< TexT, OutT >::read ( uchar  r)
inlinestatic

Definition at line 57 of file cycles/kernel/device/cpu/image.h.

References r.

◆ read() [8/10]

template<typename TexT , typename OutT = float4>
static ccl_always_inline float4 CCL_NAMESPACE_BEGIN::TextureInterpolator< TexT, OutT >::read ( uchar4  r)
inlinestatic

Definition at line 51 of file cycles/kernel/device/cpu/image.h.

References make_float4, and r.

◆ read() [9/10]

template<typename TexT , typename OutT = float4>
static ccl_always_inline float CCL_NAMESPACE_BEGIN::TextureInterpolator< TexT, OutT >::read ( uint16_t  r)
inlinestatic

Definition at line 77 of file cycles/kernel/device/cpu/image.h.

References r.

◆ read() [10/10]

template<typename TexT , typename OutT = float4>
static ccl_always_inline float4 CCL_NAMESPACE_BEGIN::TextureInterpolator< TexT, OutT >::read ( ushort4  r)
inlinestatic

Definition at line 82 of file cycles/kernel/device/cpu/image.h.

References make_float4, and r.

◆ read_clip() [1/2]

template<typename TexT , typename OutT = float4>
static ccl_always_inline OutT CCL_NAMESPACE_BEGIN::TextureInterpolator< TexT, OutT >::read_clip ( const TexT *  data,
int  x,
int  y,
int  width,
int  height 
)
inlinestatic

Definition at line 97 of file cycles/kernel/device/cpu/image.h.

References data, height, width, x, and y.

◆ read_clip() [2/2]

template<typename TexT , typename OutT = float4>
static ccl_always_inline OutT CCL_NAMESPACE_BEGIN::TextureInterpolator< TexT, OutT >::read_clip ( const TexT *  data,
int  x,
int  y,
int  z,
int  width,
int  height,
int  depth 
)
inlinestatic

Definition at line 116 of file cycles/kernel/device/cpu/image.h.

References data, height, width, x, y, and z.

◆ tricubic_lookup()

template<typename TexT , typename OutT = float4>
static ccl_always_inline OutT CCL_NAMESPACE_BEGIN::TextureInterpolator< TexT, OutT >::tricubic_lookup ( const TexT *  data,
float  tx,
float  ty,
float  tz,
const int  xc[4],
const int  yc[4],
const int  zc[4],
int  width,
int  height,
int  depth,
OutT   readconst TexT *, int, int, int, int, int, int 
)
inlinestatic

Tricubic Interpolation

Definition at line 156 of file cycles/kernel/device/cpu/image.h.

References ROW_TERM, SET_CUBIC_SPLINE_WEIGHTS, v, and w().

◆ trilinear_lookup()

template<typename TexT , typename OutT = float4>
static ccl_always_inline OutT CCL_NAMESPACE_BEGIN::TextureInterpolator< TexT, OutT >::trilinear_lookup ( const TexT *  data,
float  tx,
float  ty,
float  tz,
int  ix,
int  iy,
int  iz,
int  nix,
int  niy,
int  niz,
int  width,
int  height,
int  depth,
OutT   readconst TexT *, int, int, int, int, int, int 
)
inlinestatic

Definition at line 126 of file cycles/kernel/device/cpu/image.h.

References data, height, r, and width.

◆ wrap_clamp()

template<typename TexT , typename OutT = float4>
static ccl_always_inline int CCL_NAMESPACE_BEGIN::TextureInterpolator< TexT, OutT >::wrap_clamp ( int  x,
int  width 
)
inlinestatic

Definition at line 200 of file cycles/kernel/device/cpu/image.h.

References blender::math::clamp(), width, and x.

◆ wrap_periodic()

template<typename TexT , typename OutT = float4>
static ccl_always_inline int CCL_NAMESPACE_BEGIN::TextureInterpolator< TexT, OutT >::wrap_periodic ( int  x,
int  width 
)
inlinestatic

Definition at line 191 of file cycles/kernel/device/cpu/image.h.

References width, and x.

◆ zero()

template<typename TexT , typename OutT = float4>
static ccl_always_inline OutT CCL_NAMESPACE_BEGIN::TextureInterpolator< TexT, OutT >::zero ( )
inlinestatic

Definition at line 36 of file cycles/kernel/device/cpu/image.h.

References zero_float4().


The documentation for this struct was generated from the following file: