Blender V5.0
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)
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 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)

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>
ccl_always_inline OutT CCL_NAMESPACE_BEGIN::TextureInterpolator< TexT, OutT >::interp ( const TextureInfo & info,
const float x,
float y )
inlinestatic

◆ interp_closest()

◆ interp_cubic()

◆ interp_linear()

◆ read() [1/9]

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

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

References ccl_always_inline.

◆ read() [2/9]

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

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

References ccl_always_inline.

◆ read() [3/9]

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  )
inlinestatic

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

References data, read, x, and y.

◆ read() [4/9]

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

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

References ccl_always_inline.

◆ read() [5/9]

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

◆ read() [6/9]

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

References ccl_always_inline.

◆ read() [7/9]

template<typename TexT, typename OutT = float4>
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 ccl_always_inline, and half_to_float_image().

◆ read() [8/9]

template<typename TexT, typename OutT = float4>
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 ccl_always_inline, and half4_to_float4_image().

◆ read() [9/9]

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

◆ read_clip()

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

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

Referenced by interp_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

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

References ccl_always_inline, clamp(), and x.

Referenced by interp_closest(), interp_cubic(), and interp_linear().

◆ 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

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

References abs, ccl_always_inline, and x.

Referenced by interp_closest(), interp_cubic(), and interp_linear().

◆ 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

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

References ccl_always_inline, and x.

Referenced by interp_closest(), interp_cubic(), and interp_linear().

◆ 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: