Ptex
Public Member Functions | Static Private Member Functions | Private Attributes | List of all members
PtexBicubicFilter Class Reference

Separable bicubic filter. More...

Inheritance diagram for PtexBicubicFilter:
PtexWidth4Filter PtexSeparableFilter PtexFilter

Public Member Functions

 PtexBicubicFilter (PtexTexture *tx, const PtexFilter::Options &opts, float sharpness)
 
- Public Member Functions inherited from PtexWidth4Filter
 PtexWidth4Filter (PtexTexture *tx, const PtexFilter::Options &opts, KernelFn k, const float *c=0)
 
virtual void buildKernel (PtexSeparableKernel &k, float u, float v, float uw, float vw, Res faceRes)
 
- Public Member Functions inherited from PtexSeparableFilter
virtual void release ()
 Release resources held by this pointer (pointer becomes invalid).
 
virtual void eval (float *result, int firstchan, int nchannels, int faceid, float u, float v, float uw1, float vw1, float uw2, float vw2, float width, float blur)
 Apply filter to a ptex data file.
 
virtual void release ()=0
 Release resources held by this pointer (pointer becomes invalid).
 
virtual void eval (float *result, int firstchan, int nchannels, int faceid, float u, float v, float uw1, float vw1, float uw2, float vw2, float width=1, float blur=0)=0
 Apply filter to a ptex data file.
 

Static Private Member Functions

static float kernelFn (float x, const float *c)
 

Private Attributes

float _coeffs [7]
 

Additional Inherited Members

- Public Types inherited from PtexWidth4Filter
typedef float KernelFn(float x, const float *c)
 
- Public Types inherited from PtexFilter
enum  FilterType {
  f_point , f_bilinear , f_box , f_gaussian ,
  f_bicubic , f_bspline , f_catmullrom , f_mitchell
}
 Filter types. More...
 
- Static Public Member Functions inherited from PtexFilter
static PtexFiltergetFilter (PtexTexture *tx, const Options &opts)
 
- Protected Member Functions inherited from PtexSeparableFilter
 PtexSeparableFilter (PtexTexture *tx, const PtexFilter::Options &opts)
 
virtual ~PtexSeparableFilter ()
 
virtual void buildKernel (PtexSeparableKernel &k, float u, float v, float uw, float vw, Res faceRes)=0
 
void splitAndApply (PtexSeparableKernel &k, int faceid, const Ptex::FaceInfo &f)
 
void applyAcrossEdge (PtexSeparableKernel &k, int faceid, const Ptex::FaceInfo &f, int eid)
 
void applyToCorner (PtexSeparableKernel &k, int faceid, const Ptex::FaceInfo &f, int eid)
 
void applyToCornerFace (PtexSeparableKernel &k, const Ptex::FaceInfo &f, int eid, int cfaceid, const Ptex::FaceInfo &cf, int ceid)
 
void apply (PtexSeparableKernel &k, int faceid, const Ptex::FaceInfo &f)
 
- Protected Member Functions inherited from PtexFilter
virtual ~PtexFilter ()
 Destructor not for public use. Use release() instead.
 
- Protected Attributes inherited from PtexSeparableFilter
PtexTexture_tx
 
Options _options
 
float * _result
 
float _weight
 
int _firstChanOffset
 
int _nchan
 
int _ntxchan
 
DataType _dt
 
BorderMode _uMode
 
BorderMode _vMode
 
EdgeFilterMode _efm
 

Detailed Description

Separable bicubic filter.

Definition at line 252 of file PtexFilters.cpp.

Constructor & Destructor Documentation

◆ PtexBicubicFilter()

PtexBicubicFilter::PtexBicubicFilter ( PtexTexture tx,
const PtexFilter::Options opts,
float  sharpness 
)
inline

Definition at line 255 of file PtexFilters.cpp.

References _coeffs.

Member Function Documentation

◆ kernelFn()

static float PtexBicubicFilter::kernelFn ( float  x,
const float *  c 
)
inlinestaticprivate

Definition at line 278 of file PtexFilters.cpp.

References PtexUtils::abs().

Member Data Documentation

◆ _coeffs

float PtexBicubicFilter::_coeffs[7]
private

Definition at line 286 of file PtexFilters.cpp.

Referenced by PtexBicubicFilter().


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