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

Detailed Description

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

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

Member Function Documentation

◆ interp()

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

◆ interp_3d()

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

◆ interp_3d_closest()

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

◆ interp_3d_cubic()

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

◆ interp_3d_linear()

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

◆ interp_closest()

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

◆ interp_cubic()

◆ interp_linear()

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

◆ read() [1/10]

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

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

References ccl_always_inline.

◆ read() [2/10]

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

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

References ccl_always_inline.

Referenced by interp_3d_cubic(), and interp_3d_linear().

◆ read() [3/10]

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

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

References data, read, x, and y.

◆ read() [4/10]

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

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

References ccl_always_inline, data, read, x, y, and z().

◆ read() [5/10]

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

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

References ccl_always_inline.

◆ read() [6/10]

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

◆ read() [7/10]

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

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

References ccl_always_inline.

◆ read() [8/10]

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

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

References ccl_always_inline, and half_to_float_image().

◆ read() [9/10]

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

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

References ccl_always_inline, and half4_to_float4_image().

◆ read() [10/10]

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

◆ read_clip() [1/2]

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

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

References data, read, x, y, and zero().

Referenced by interp_3d_cubic(), interp_3d_linear(), and interp_linear().

◆ read_clip() [2/2]

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

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

References ccl_always_inline, data, read, x, y, z(), and zero().

◆ tricubic_lookup()

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

Tricubic Interpolation

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

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

Referenced by interp_3d_cubic().

◆ trilinear_lookup()

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

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

References data, and read.

Referenced by interp_3d_linear().

◆ wrap_clamp()

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

◆ wrap_mirror()

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

◆ wrap_periodic()

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

◆ zero()

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

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