Ptex
Classes | Macros | Enumerations | Variables
Ptexture.h File Reference

Public API classes for reading, writing, caching, and filtering Ptex files. More...

#include "PtexInt.h"
#include <ostream>

Classes

struct  Ptex
 Common data structures and enums used throughout the API. More...
 
struct  Ptex::Res
 Pixel resolution of a given texture. More...
 
struct  Ptex::FaceInfo
 Information about a face, as stored in the Ptex file header. More...
 
class  Ptex::String
 Memory-managed string. More...
 
struct  Res
 Pixel resolution of a given texture. More...
 
struct  FaceInfo
 Information about a face, as stored in the Ptex file header. More...
 
class  String
 Memory-managed string. More...
 
class  PtexMetaData
 Meta data accessor. More...
 
class  PtexFaceData
 Per-face texture data accessor. More...
 
class  PtexTexture
 Interface for reading data from a ptex file. More...
 
class  PtexInputHandler
 Custom handler interface for intercepting and redirecting Ptex input stream calls. More...
 
class  PtexCache
 File-handle and memory cache for reading ptex files. More...
 
class  PtexWriter
 Interface for writing data to a ptex file. More...
 
class  PtexFilter
 Interface for filtered sampling of ptex data files. More...
 
struct  PtexFilter::Options
 Choose filter options. More...
 
class  PtexPtr< T >
 Smart-pointer for acquiring and releasing API objects. More...
 

Macros

#define PTEXAPI
 
#define PtexAPIVersion   2
 
#define PtexFileMajorVersion   1
 
#define PtexFileMinorVersion   3
 

Enumerations

enum  MeshType { mt_triangle, mt_quad }
 Type of base mesh for which the textures are defined. More...
 
enum  DataType { dt_uint8, dt_uint16, dt_half, dt_float }
 Type of data stored in texture file. More...
 
enum  BorderMode { m_clamp, m_black, m_periodic }
 How to handle mesh border when filtering. More...
 
enum  EdgeId { e_bottom, e_right, e_top, e_left }
 Edge IDs used in adjacency data in the Ptex::FaceInfo struct. More...
 
enum  MetaDataType {
  mdt_string, mdt_int8, mdt_int16, mdt_int32,
  mdt_float, mdt_double
}
 Type of meta data entry. More...
 

Variables

class PtexMetaDataoperator
 

Detailed Description

Public API classes for reading, writing, caching, and filtering Ptex files.

Enumeration Type Documentation

enum BorderMode

How to handle mesh border when filtering.

Enumerator
m_clamp 

texel access is clamped to border

m_black 

texel beyond border are assumed to be black

m_periodic 

texel access wraps to other side of face

enum DataType

Type of data stored in texture file.

Enumerator
dt_uint8 

Unsigned, 8-bit integer.

dt_uint16 

Unsigned, 16-bit integer.

dt_half 

Half-precision (16-bit) floating point.

dt_float 

Single-precision (32-bit) floating point.

enum EdgeId

Edge IDs used in adjacency data in the Ptex::FaceInfo struct.

Edge ID usage for triangle meshes is TBD.

Enumerator
e_bottom 

Bottom edge, from UV (0,0) to (1,0)

e_right 

Right edge, from UV (1,0) to (1,1)

e_top 

Top edge, from UV (1,1) to (0,1)

e_left 

Left edge, from UV (0,1) to (0,0)

enum MeshType

Type of base mesh for which the textures are defined.

A mesh can be triangle-based (with triangular textures) or quad-based (with rectangular textures).

Enumerator
mt_triangle 

Mesh is triangle-based.

mt_quad 

Mesh is quad-based.

Type of meta data entry.

Enumerator
mdt_string 

Null-terminated string.

mdt_int8 

Signed 8-bit integer.

mdt_int16 

Signed 16-bit integer.

mdt_int32 

Signed 32-bit integer.

mdt_float 

Single-precision (32-bit) floating point.

mdt_double 

Double-precision (32-bit) floating point.