61 virtual void writeMeta(
const char* key,
const char* value);
62 virtual void writeMeta(
const char* key,
const int8_t* value,
int count);
63 virtual void writeMeta(
const char* key,
const int16_t* value,
int count);
64 virtual void writeMeta(
const char* key,
const int32_t* value,
int count);
65 virtual void writeMeta(
const char* key,
const float* value,
int count);
66 virtual void writeMeta(
const char* key,
const double* value,
int count);
92 int nchannels,
int alphachan,
int nfaces,
97 int writeBlock(FILE* fp,
const void* data,
int size);
99 int readBlock(FILE* fp,
void* data,
int size);
104 void writeFaceBlock(FILE* fp,
const void* data,
int stride, Res res,
106 void writeFaceData(FILE* fp,
const void* data,
int stride, Res res,
108 void writeReduction(FILE* fp,
const void* data,
int stride, Res res);
111 bool storeFaceInfo(
int faceid, FaceInfo& dest,
const FaceInfo& src,
int flags=0);
133 int nchannels,
int alphachan,
int nfaces,
bool genmipmaps);
136 virtual bool writeFace(
int faceid,
const FaceInfo& f,
const void* data,
int stride);
151 void storeConstValue(
int faceid,
const void* data,
int stride, Res res);
172 std::vector<FaceDataHeader>
fdh;
185 int nchannels,
int alphachan,
int nfaces);
188 virtual bool writeFace(
int faceid,
const FaceInfo& f,
const void* data,
int stride);
Interface for writing data to a ptex file.
void getError(Ptex::String &error)
bool storeFaceInfo(int faceid, FaceInfo &dest, const FaceInfo &src, int flags=0)
virtual ~PtexWriterBase()
virtual bool close(Ptex::String &error)
Close the file.
virtual void release()
Release resources held by this pointer (pointer becomes invalid).
void writeReduction(FILE *fp, const void *data, int stride, Res res)
DataType datatype() const
void ReduceFn(const void *src, int sstride, int ures, int vres, void *dst, int dstride, DataType dt, int nchannels)
std::vector< FaceDataHeader > fdh
PtexUtils::ReduceFn * _reduceFn
void writeFaceData(FILE *fp, const void *data, int stride, Res res, FaceDataHeader &fdh)
void writeMetaData(FILE *fp)
bool ok(Ptex::String &error)
std::vector< uint32_t > _rfaceids
virtual void setBorderModes(Ptex::BorderMode uBorderMode, Ptex::BorderMode vBorderMode)
Set border modes.
virtual bool writeConstantFace(int faceid, const FaceInfo &f, const void *data)
void storeConstValue(int faceid, const void *data, int stride, Res res)
std::vector< FaceInfo > _faceinfo
EdgeFilterMode
How to handle transformation across edges when filtering.
void generateReductions()
virtual bool close(Ptex::String &error)
Close the file.
static const int MinReductionLog2
int writeMetaDataBlock(FILE *fp, MetaEntry &val)
void setError(const std::string &error)
int writeZipBlock(FILE *fp, const void *data, int size, bool finish=true)
virtual bool writeConstantFace(int faceid, const FaceInfo &f, const void *data)
MeshType
Type of base mesh for which the textures are defined.
int copyBlock(FILE *dst, FILE *src, FilePos pos, int size)
BorderMode
How to handle mesh border when filtering.
PtexMainWriter(const char *path, PtexTexture *tex, Ptex::MeshType mt, Ptex::DataType dt, int nchannels, int alphachan, int nfaces, bool genmipmaps)
int writeBlock(FILE *fp, const void *data, int size)
virtual ~PtexMainWriter()
int readBlock(FILE *fp, void *data, int size)
virtual void addMetaData(const char *key, MetaDataType t, const void *value, int size)
virtual bool close(Ptex::String &error)
Close the file.
PtexWriterBase(const char *path, Ptex::MeshType mt, Ptex::DataType dt, int nchannels, int alphachan, int nfaces, bool compress)
std::vector< FilePos > _rpos
std::vector< FilePos > pos
virtual bool writeFace(int faceid, const FaceInfo &f, const void *data, int stride)
std::vector< LevelRec > _levels
void flagConstantNeighorhoods()
virtual ~PtexIncrWriter()
Res calcTileRes(Res faceres)
Interface for reading data from a ptex file.
std::vector< uint32_t > _faceids_r
int writeBlank(FILE *fp, int size)
MetaDataType
Type of meta data entry.
std::vector< MetaEntry > _metadata
virtual void writeMeta(const char *key, const char *value)
Write a string as meta data.
PtexIncrWriter(const char *path, FILE *fp, Ptex::MeshType mt, Ptex::DataType dt, int nchannels, int alphachan, int nfaces)
std::map< std::string, int > _metamap
void writeConstFaceBlock(FILE *fp, const void *data, FaceDataHeader &fdh)
virtual bool writeFace(int faceid, const FaceInfo &f, const void *data, int stride)
void writeFaceBlock(FILE *fp, const void *data, int stride, Res res, FaceDataHeader &fdh)
virtual void setEdgeFilterMode(Ptex::EdgeFilterMode edgeFilterMode)
Set edge filter mode.
DataType
Type of data stored in texture file.
std::vector< uint8_t > data
#define PTEX_NAMESPACE_END
Public API classes for reading, writing, caching, and filtering Ptex files.
virtual void addMetaData(const char *key, MetaDataType t, const void *value, int size)
std::vector< uint8_t > _constdata