Blender V4.3
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 int wrap_mirror (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 33 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 89 of file cycles/kernel/device/cpu/image.h.

◆ 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 107 of file cycles/kernel/device/cpu/image.h.

References 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 61 of file cycles/kernel/device/cpu/image.h.

◆ 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 45 of file cycles/kernel/device/cpu/image.h.

◆ 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 71 of file cycles/kernel/device/cpu/image.h.

References half_to_float_image().

◆ 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 66 of file cycles/kernel/device/cpu/image.h.

References half4_to_float4_image().

◆ 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 56 of file cycles/kernel/device/cpu/image.h.

◆ 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 50 of file cycles/kernel/device/cpu/image.h.

References make_float4(), uchar4::w, uchar4::x, uchar4::y, and uchar4::z.

◆ 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 76 of file cycles/kernel/device/cpu/image.h.

◆ read() [10/10]

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

◆ 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 96 of file cycles/kernel/device/cpu/image.h.

References 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 115 of file cycles/kernel/device/cpu/image.h.

References 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 155 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 125 of file cycles/kernel/device/cpu/image.h.

◆ 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 199 of file cycles/kernel/device/cpu/image.h.

References clamp().

◆ wrap_mirror()

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

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

References abs().

◆ 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 190 of file cycles/kernel/device/cpu/image.h.

References x.

◆ zero()

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

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

References zero_float4().


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