Ptex
|
Public API classes for reading, writing, caching, and filtering Ptex files. More...
Go to the source code of this file.
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... | |
Functions | |
static const char * | MeshTypeName (MeshType mt) |
Look up name of given mesh type. More... | |
static const char * | DataTypeName (DataType dt) |
Look up name of given data type. More... | |
static const char * | BorderModeName (BorderMode m) |
Look up name of given border mode. More... | |
static const char * | EdgeIdName (EdgeId eid) |
Look up name of given edge ID. More... | |
static const char * | MetaDataTypeName (MetaDataType mdt) |
Look up name of given meta data type. More... | |
static int | DataSize (DataType dt) |
Look up size of given data type (in bytes). More... | |
static float | OneValue (DataType dt) |
Look up value of given data type that corresponds to the normalized value of 1.0. More... | |
static float | OneValueInv (DataType dt) |
Lookup up inverse value of given data type that corresponds to the normalized value of 1.0. More... | |
static void | ConvertToFloat (float *dst, const void *src, Ptex::DataType dt, int numChannels) |
Convert a number of data values from the given data type to float. More... | |
static void | ConvertFromFloat (void *dst, const float *src, Ptex::DataType dt, int numChannels) |
Convert a number of data values from float to the given data type. More... | |
Variables | |
class PtexMetaData & | operator |
Public API classes for reading, writing, caching, and filtering Ptex files.
Definition in file Ptexture.h.
#define PTEXAPI |
Definition at line 58 of file Ptexture.h.
#define PtexAPIVersion 2 |
Definition at line 68 of file Ptexture.h.
#define PtexFileMajorVersion 1 |
Definition at line 69 of file Ptexture.h.
Referenced by PtexWriterBase::PtexWriterBase().
#define PtexFileMinorVersion 3 |
Definition at line 70 of file Ptexture.h.
Referenced by PtexWriterBase::PtexWriterBase().
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 |
Definition at line 204 of file Ptexture.h.
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. |
Definition at line 196 of file Ptexture.h.
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) |
Definition at line 212 of file Ptexture.h.
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. |
Definition at line 190 of file Ptexture.h.
enum MetaDataType |
Type of meta data entry.
Definition at line 220 of file Ptexture.h.
|
static |
Look up name of given border mode.
|
static |
Convert a number of data values from float to the given data type.
|
static |
Convert a number of data values from the given data type to float.
|
static |
Look up size of given data type (in bytes).
Definition at line 245 of file Ptexture.h.
|
static |
Look up name of given data type.
|
static |
Look up name of given edge ID.
|
static |
Look up name of given mesh type.
|
static |
Look up name of given meta data type.
|
static |
Look up value of given data type that corresponds to the normalized value of 1.0.
Definition at line 251 of file Ptexture.h.
|
static |
Lookup up inverse value of given data type that corresponds to the normalized value of 1.0.
Definition at line 257 of file Ptexture.h.
References Ptex::FaceInfo::setadjedges(), and Ptex::FaceInfo::setadjfaces().
class PtexMetaData& operator |