Ptex

Public Member Functions | Private Attributes | List of all members
PtexPointFilter Class Reference

Point-sampling filter for rectangular textures. More...

Inheritance diagram for PtexPointFilter:

## Public Member Functions
| PtexPointFilter (PtexTexture *tx)
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, float, float, float, float, float)
| Apply filter to a ptex data file.

## Private Attributes
PtexTexture * | _tx

## Additional Inherited Members
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 PtexFilter * | getFilter (PtexTexture *tx, const Options &opts)
Protected Member Functions inherited from PtexFilter
virtual | ~PtexFilter ()
| Destructor not for public use. Use release() instead.

## Detailed Description

Point-sampling filter for rectangular textures.

Definition at line 45 of file PtexFilters.cpp.

## Constructor & Destructor Documentation

## ◆ PtexPointFilter()

PtexPointFilter::PtexPointFilter | ( | PtexTexture * | tx | ) |
| inline

Definition at line 48 of file PtexFilters.cpp.

## Member Function Documentation

## ◆ eval()

virtual void PtexPointFilter::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
| ) |  |
| inline virtual

Apply filter to a ptex data file.

The filter region is a parallelogram centered at the given (u,v) coordinate with sides defined by two vectors [uw1, vw1] and [uw2, vw2]. For an axis-aligned rectangle, the vectors are [uw, 0] and [0, vw]. See Filter Footprint for details.

Parameters

  result | Buffer to hold filter result. Must be large enough to hold nchannels worth of data.
  firstchan | First channel to evaluate [0..tx->numChannels()-1]
  nchannels | Number of channels to evaluate
  faceid | Face index [0..tx->numFaces()-1]
  u | U coordinate, normalized [0..1]
  v | V coordinate, normalized [0..1]
  uw1 | U filter width 1, normalized [0..1]
  vw1 | V filter width 1, normalized [0..1]
  uw2 | U filter width 2, normalized [0..1]
  vw2 | V filter width 2, normalized [0..1]
  width | scale factor for filter width
  blur | amount to add to filter width [0..1]

Implements PtexFilter.

Definition at line 50 of file PtexFilters.cpp.

References _tx, PtexUtils::clamp(), PtexTexture::getFaceInfo(), PtexTexture::getPixel(), PtexTexture::numFaces(), Ptex::FaceInfo::res, and Ptex::Res::u().

## ◆ release()

virtual void PtexPointFilter::release | ( |  | ) |
| inline virtual

Release resources held by this pointer (pointer becomes invalid).

Implements PtexFilter.

Definition at line 49 of file PtexFilters.cpp.

## Member Data Documentation

## ◆ _tx

PtexTexture* PtexPointFilter::_tx
| private

Definition at line 65 of file PtexFilters.cpp.

Referenced by eval().

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

- PtexFilters.cpp