RenderManAPI  24.0
dtex.h File Reference
#include "prmanapi.h"

Go to the source code of this file.

Classes

struct  DtexAccessor
 
struct  DtexLargeAccessor
 
struct  DtexCreateFileParams
 
struct  DtexAddImageParams
 
struct  DtexCreateDeepFilterParams
 

Macros

#define DTEX_CREATE_FILE_PARAMS_VERSION   1
 
#define DTEX_DEEPOPACITY_VERSION   1
 
#define DTEX_AREASHADOW_VERSION   1
 
#define DTEX_DEEPCOMP_VERSION   1
 
#define DTEX_ADD_IMAGE_PARAMS_VERSION   1
 
#define DTEX_CREATE_DEEP_FILTER_PARAMS_VERSION   2
 

Typedefs

typedef struct DtexFile DtexFile
 
typedef struct DtexImage DtexImage
 
typedef struct DtexMetadata DtexMetadata
 
typedef struct DtexPixel DtexPixel
 
typedef struct DtexCache DtexCache
 
typedef struct DtexDeepFilter DtexDeepFilter
 
typedef void *(* DtexCreateFunc) (const char *name)
 
typedef void *(* DtexOpenFunc) (const char *name, const char *mode)
 
typedef long(* DtexReadFunc) (void *handle, char *data, long seek, long size)
 
typedef long(* DtexWriteFunc) (void *handle, char *data, long seek, long size)
 
typedef void(* DtexCloseFunc) (void *handle)
 
typedef struct DtexAccessor DtexAccessor
 
typedef long(* DtexLargeReadFunc) (void *handle, char *data, uint64_t seek, long size)
 
typedef long(* DtexLargeWriteFunc) (void *handle, char *data, uint64_t seek, long size)
 
typedef struct DtexLargeAccessor DtexLargeAccessor
 
typedef enum DtexCompression DtexCompression
 
typedef enum DtexDataType DtexDataType
 

Enumerations

enum  DtexCompression {
  DTEX_COMPRESSION_NONE = 0, DTEX_COMPRESSION_RLE = 2, DTEX_COMPRESSION_LZW = 3, DTEX_COMPRESSION_HUFFMAN = 5,
  DTEX_COMPRESSION_ZIP = 6
}
 
enum  DtexDataType {
  DTEX_TYPE_BYTE = 1, DTEX_TYPE_SHORT = 2, DTEX_TYPE_WORD = 3, DTEX_TYPE_FLOAT = 4,
  DTEX_TYPE_HALF = 5
}
 
enum  {
  DTEX_NOMETADATA = -14, DTEX_BADCHANNEL = -13, DTEX_READONLY = -12, DTEX_CAPACITY = -11,
  DTEX_TILECOMPRESSION = -10, DTEX_UNFINISHED = -9, DTEX_RANGE = -8, DTEX_NOMEM = -7,
  DTEX_EMPTY = -6, DTEX_NOIMAGE = -5, DTEX_UNSUPPORTED = -4, DTEX_BADFILE = -3,
  DTEX_NOFILE = -2, DTEX_ERR = -1, DTEX_NOERR = 0
}
 

Functions

PRMANAPI DtexCacheDtexCreateCache (int numTiles, DtexAccessor *accessor)
 
PRMANAPI DtexCacheDtexCreateReadOnlyCache (int numTilesPerThread, DtexAccessor *accessor, DtexLargeAccessor *largeAccessor)
 
PRMANAPI int DtexSetLargeAccessor (DtexCache *c, DtexLargeAccessor *accessor)
 
PRMANAPI int DtexDestroyCache (DtexCache *c)
 
PRMANAPI int DtexSyncCache (DtexCache *dsc)
 
PRMANAPI int DtexIsDeepFile (const char *name, DtexCache *cache, int *version)
 
PRMANAPI int DtexOpenFile (const char *name, const char *mode, DtexCache *cache, DtexFile **result)
 
PRMANAPI int DtexCreateFile (const char *name, DtexCache *cache, DtexFile **result)
 
PRMANAPI int DtexCreateFileEx (const char *name, DtexCache *cache, DtexFile **result, DtexCreateFileParams *params)
 
PRMANAPI int DtexFileVersion (DtexFile *f)
 
PRMANAPI int DtexGetFileMetadata (DtexFile *f, DtexMetadata **result)
 
PRMANAPI int DtexAddImage (DtexFile *f, const char *name, int numChan, int w, int h, int tw, int th, float *NP, float *Nl, enum DtexCompression compression, enum DtexDataType datatype, DtexImage **result)
 
PRMANAPI int DtexAddImageEx (DtexFile *f, const char *name, int numChan, int w, int h, int tw, int th, float *NP, float *Nl, enum DtexCompression compression, enum DtexDataType datatype, DtexImage **result, DtexAddImageParams *params)
 
PRMANAPI int DtexCountImages (DtexFile *f)
 
PRMANAPI int DtexGetImageByName (DtexFile *f, const char *name, DtexImage **result)
 
PRMANAPI int DtexGetImageByIndex (DtexFile *f, int index, DtexImage **result)
 
PRMANAPI int DtexClose (DtexFile *ds)
 
PRMANAPI int DtexSync (DtexFile *ds)
 
PRMANAPI int DtexWidth (DtexImage *i)
 
PRMANAPI char * DtexImageName (DtexImage *i)
 
PRMANAPI int DtexNumChan (DtexImage *i)
 
PRMANAPI int DtexHeight (DtexImage *i)
 
PRMANAPI int DtexTileWidth (DtexImage *i)
 
PRMANAPI int DtexTileHeight (DtexImage *i)
 
PRMANAPI int DtexNP (DtexImage *i, float *NP)
 
PRMANAPI int DtexNl (DtexImage *i, float *Nl)
 
PRMANAPI DtexCompression DtexGetCompression (DtexImage *i)
 
PRMANAPI DtexDataType DtexGetDataType (DtexImage *i)
 
PRMANAPI int DtexGetImageMetadata (DtexImage *i, DtexMetadata **result)
 
PRMANAPI int DtexSetPixelData (DtexImage *img, int x, int y, int numChan, int numPoints, float *data)
 
PRMANAPI int DtexSetPixel (DtexImage *img, int x, int y, DtexPixel *pix)
 
PRMANAPI int DtexGetPixel (DtexImage *img, int x, int y, DtexPixel *pix)
 
PRMANAPI int DtexEval (DtexImage *img, int x, int y, float z, int n, float *data)
 
PRMANAPI int DtexGetZRange (DtexImage *img, int x, int y, float *min, float *max)
 
PRMANAPI int DtexGetMeanDepth (DtexImage *img, int x, int y, float *mean, float *alpha)
 
PRMANAPI int DtexMetadataSet (DtexMetadata *meta, char const *token, void const *value)
 
PRMANAPI int DtexMetadataCount (DtexMetadata *meta)
 
PRMANAPI int DtexMetadataGetByIndex (DtexMetadata *meta, int index, char const **token, void const **value)
 
PRMANAPI int DtexMetadataGetByName (DtexMetadata *meta, char const *name, char const **token, void const **value)
 
PRMANAPI DtexPixelDtexMakePixel (int numChan)
 
PRMANAPI void DtexDestroyPixel (DtexPixel *pix)
 
PRMANAPI int DtexClearPixel (DtexPixel *pix, int numChan)
 
PRMANAPI int DtexEmptyPixel (DtexPixel *pix)
 
PRMANAPI int DtexSpecifyPixel (DtexPixel *pix, int numChan, int numPoints, float *data)
 
PRMANAPI int DtexIsPixelMonochrome (DtexPixel *p)
 
PRMANAPI int DtexPixelGetNumChan (DtexPixel *pix)
 
PRMANAPI int DtexPixelGetNumPoints (DtexPixel *pix)
 
PRMANAPI int DtexPixelGetPoint (DtexPixel *pix, int i, float *z, float *data)
 
PRMANAPI int DtexPixelSetPoint (DtexPixel *pix, int i, float z, float *data)
 
PRMANAPI int DtexCopyPixel (DtexPixel *dest, DtexPixel *src)
 
PRMANAPI int DtexMergePixel (DtexPixel *dest, DtexPixel *src)
 
PRMANAPI int DtexMergePixelEx (DtexPixel *dest, DtexPixel *src, int rgbChannel, int alphaChannel)
 
PRMANAPI int DtexFinishPixel (DtexPixel *dest)
 
PRMANAPI int DtexAppendPixel (DtexPixel *pix, float z, int n, float *data, float error)
 
PRMANAPI int DtexEvalPixel (DtexPixel *pix, float z, int n, float *data)
 
PRMANAPI int DtexCompositePixel (DtexPixel *pix, int rgbChannel, int alphaChannel, float *data)
 
PRMANAPI int DtexGetPixelZRange (DtexPixel *pix, float *min, float *max)
 
PRMANAPI int DtexPrintPixel (DtexPixel *p)
 
PRMANAPI int DtexAveragePixels (int n, DtexPixel **pixels, float *weights, float error, DtexPixel *result)
 
PRMANAPI void DtexPrintStats (void)
 
PRMANAPI DtexDeepFilterDtexCreateDeepFilter (void)
 
PRMANAPI DtexDeepFilterDtexCreateDeepFilterEx (DtexCreateDeepFilterParams *p)
 
PRMANAPI void DtexDestroyDeepFilter (DtexDeepFilter *filter)
 
PRMANAPI float * DtexGetDeepFilterData (DtexDeepFilter *filter, int numChan, int numSamples, int *numDeltas, float *filterWeights, int totalNumDeltas)
 
PRMANAPI int DtexComputeDeepPointData (DtexDeepFilter *filter, float *pointData, float error, int assumeSmooth)
 
PRMANAPI int DtexComputeDeepPointDataEx (DtexDeepFilter *filter, float *pointData)
 
PRMANAPI int DtexCompressPointData (float *pointData, int numChan, int numPoints, float *result, float error)
 
PRMANAPI int DtexCompressPixel (DtexPixel *src, DtexPixel *dest, float error)
 
PRMANAPI void DtexQueryMemory (unsigned long *current, unsigned long *peak)
 

Macro Definition Documentation

◆ DTEX_ADD_IMAGE_PARAMS_VERSION

#define DTEX_ADD_IMAGE_PARAMS_VERSION   1

◆ DTEX_AREASHADOW_VERSION

#define DTEX_AREASHADOW_VERSION   1

◆ DTEX_CREATE_DEEP_FILTER_PARAMS_VERSION

#define DTEX_CREATE_DEEP_FILTER_PARAMS_VERSION   2

◆ DTEX_CREATE_FILE_PARAMS_VERSION

#define DTEX_CREATE_FILE_PARAMS_VERSION   1

◆ DTEX_DEEPCOMP_VERSION

#define DTEX_DEEPCOMP_VERSION   1

◆ DTEX_DEEPOPACITY_VERSION

#define DTEX_DEEPOPACITY_VERSION   1

Typedef Documentation

◆ DtexAccessor

typedef struct DtexAccessor DtexAccessor

◆ DtexCache

typedef struct DtexCache DtexCache

◆ DtexCloseFunc

typedef void(* DtexCloseFunc) (void *handle)

◆ DtexCompression

◆ DtexCreateFunc

typedef void*(* DtexCreateFunc) (const char *name)

◆ DtexDataType

typedef enum DtexDataType DtexDataType

◆ DtexDeepFilter

◆ DtexFile

typedef struct DtexFile DtexFile

◆ DtexImage

typedef struct DtexImage DtexImage

◆ DtexLargeAccessor

◆ DtexLargeReadFunc

typedef long(* DtexLargeReadFunc) (void *handle, char *data, uint64_t seek, long size)

◆ DtexLargeWriteFunc

typedef long(* DtexLargeWriteFunc) (void *handle, char *data, uint64_t seek, long size)

◆ DtexMetadata

typedef struct DtexMetadata DtexMetadata

◆ DtexOpenFunc

typedef void*(* DtexOpenFunc) (const char *name, const char *mode)

◆ DtexPixel

typedef struct DtexPixel DtexPixel

◆ DtexReadFunc

typedef long(* DtexReadFunc) (void *handle, char *data, long seek, long size)

◆ DtexWriteFunc

typedef long(* DtexWriteFunc) (void *handle, char *data, long seek, long size)

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
DTEX_NOMETADATA 
DTEX_BADCHANNEL 
DTEX_READONLY 
DTEX_CAPACITY 
DTEX_TILECOMPRESSION 
DTEX_UNFINISHED 
DTEX_RANGE 
DTEX_NOMEM 
DTEX_EMPTY 
DTEX_NOIMAGE 
DTEX_UNSUPPORTED 
DTEX_BADFILE 
DTEX_NOFILE 
DTEX_ERR 
DTEX_NOERR 

◆ DtexCompression

Enumerator
DTEX_COMPRESSION_NONE 
DTEX_COMPRESSION_RLE 
DTEX_COMPRESSION_LZW 
DTEX_COMPRESSION_HUFFMAN 
DTEX_COMPRESSION_ZIP 

◆ DtexDataType

Enumerator
DTEX_TYPE_BYTE 
DTEX_TYPE_SHORT 
DTEX_TYPE_WORD 
DTEX_TYPE_FLOAT 
DTEX_TYPE_HALF 

Function Documentation

◆ DtexAddImage()

PRMANAPI int DtexAddImage ( DtexFile f,
const char *  name,
int  numChan,
int  w,
int  h,
int  tw,
int  th,
float *  NP,
float *  Nl,
enum DtexCompression  compression,
enum DtexDataType  datatype,
DtexImage **  result 
)

◆ DtexAddImageEx()

PRMANAPI int DtexAddImageEx ( DtexFile f,
const char *  name,
int  numChan,
int  w,
int  h,
int  tw,
int  th,
float *  NP,
float *  Nl,
enum DtexCompression  compression,
enum DtexDataType  datatype,
DtexImage **  result,
DtexAddImageParams params 
)

◆ DtexAppendPixel()

PRMANAPI int DtexAppendPixel ( DtexPixel pix,
float  z,
int  n,
float *  data,
float  error 
)

◆ DtexAveragePixels()

PRMANAPI int DtexAveragePixels ( int  n,
DtexPixel **  pixels,
float *  weights,
float  error,
DtexPixel result 
)

◆ DtexClearPixel()

PRMANAPI int DtexClearPixel ( DtexPixel pix,
int  numChan 
)

◆ DtexClose()

PRMANAPI int DtexClose ( DtexFile ds)

◆ DtexCompositePixel()

PRMANAPI int DtexCompositePixel ( DtexPixel pix,
int  rgbChannel,
int  alphaChannel,
float *  data 
)

◆ DtexCompressPixel()

PRMANAPI int DtexCompressPixel ( DtexPixel src,
DtexPixel dest,
float  error 
)

◆ DtexCompressPointData()

PRMANAPI int DtexCompressPointData ( float *  pointData,
int  numChan,
int  numPoints,
float *  result,
float  error 
)

◆ DtexComputeDeepPointData()

PRMANAPI int DtexComputeDeepPointData ( DtexDeepFilter filter,
float *  pointData,
float  error,
int  assumeSmooth 
)

◆ DtexComputeDeepPointDataEx()

PRMANAPI int DtexComputeDeepPointDataEx ( DtexDeepFilter filter,
float *  pointData 
)

◆ DtexCopyPixel()

PRMANAPI int DtexCopyPixel ( DtexPixel dest,
DtexPixel src 
)

◆ DtexCountImages()

PRMANAPI int DtexCountImages ( DtexFile f)

◆ DtexCreateCache()

PRMANAPI DtexCache* DtexCreateCache ( int  numTiles,
DtexAccessor accessor 
)

◆ DtexCreateDeepFilter()

PRMANAPI DtexDeepFilter* DtexCreateDeepFilter ( void  )

◆ DtexCreateDeepFilterEx()

PRMANAPI DtexDeepFilter* DtexCreateDeepFilterEx ( DtexCreateDeepFilterParams p)

◆ DtexCreateFile()

PRMANAPI int DtexCreateFile ( const char *  name,
DtexCache cache,
DtexFile **  result 
)

◆ DtexCreateFileEx()

PRMANAPI int DtexCreateFileEx ( const char *  name,
DtexCache cache,
DtexFile **  result,
DtexCreateFileParams params 
)

◆ DtexCreateReadOnlyCache()

PRMANAPI DtexCache* DtexCreateReadOnlyCache ( int  numTilesPerThread,
DtexAccessor accessor,
DtexLargeAccessor largeAccessor 
)

◆ DtexDestroyCache()

PRMANAPI int DtexDestroyCache ( DtexCache c)

◆ DtexDestroyDeepFilter()

PRMANAPI void DtexDestroyDeepFilter ( DtexDeepFilter filter)

◆ DtexDestroyPixel()

PRMANAPI void DtexDestroyPixel ( DtexPixel pix)

◆ DtexEmptyPixel()

PRMANAPI int DtexEmptyPixel ( DtexPixel pix)

◆ DtexEval()

PRMANAPI int DtexEval ( DtexImage img,
int  x,
int  y,
float  z,
int  n,
float *  data 
)

◆ DtexEvalPixel()

PRMANAPI int DtexEvalPixel ( DtexPixel pix,
float  z,
int  n,
float *  data 
)

◆ DtexFileVersion()

PRMANAPI int DtexFileVersion ( DtexFile f)

◆ DtexFinishPixel()

PRMANAPI int DtexFinishPixel ( DtexPixel dest)

◆ DtexGetCompression()

PRMANAPI DtexCompression DtexGetCompression ( DtexImage i)

◆ DtexGetDataType()

PRMANAPI DtexDataType DtexGetDataType ( DtexImage i)

◆ DtexGetDeepFilterData()

PRMANAPI float* DtexGetDeepFilterData ( DtexDeepFilter filter,
int  numChan,
int  numSamples,
int *  numDeltas,
float *  filterWeights,
int  totalNumDeltas 
)

◆ DtexGetFileMetadata()

PRMANAPI int DtexGetFileMetadata ( DtexFile f,
DtexMetadata **  result 
)

◆ DtexGetImageByIndex()

PRMANAPI int DtexGetImageByIndex ( DtexFile f,
int  index,
DtexImage **  result 
)

◆ DtexGetImageByName()

PRMANAPI int DtexGetImageByName ( DtexFile f,
const char *  name,
DtexImage **  result 
)

◆ DtexGetImageMetadata()

PRMANAPI int DtexGetImageMetadata ( DtexImage i,
DtexMetadata **  result 
)

◆ DtexGetMeanDepth()

PRMANAPI int DtexGetMeanDepth ( DtexImage img,
int  x,
int  y,
float *  mean,
float *  alpha 
)

◆ DtexGetPixel()

PRMANAPI int DtexGetPixel ( DtexImage img,
int  x,
int  y,
DtexPixel pix 
)

◆ DtexGetPixelZRange()

PRMANAPI int DtexGetPixelZRange ( DtexPixel pix,
float *  min,
float *  max 
)

◆ DtexGetZRange()

PRMANAPI int DtexGetZRange ( DtexImage img,
int  x,
int  y,
float *  min,
float *  max 
)

◆ DtexHeight()

PRMANAPI int DtexHeight ( DtexImage i)

◆ DtexImageName()

PRMANAPI char* DtexImageName ( DtexImage i)

◆ DtexIsDeepFile()

PRMANAPI int DtexIsDeepFile ( const char *  name,
DtexCache cache,
int *  version 
)

◆ DtexIsPixelMonochrome()

PRMANAPI int DtexIsPixelMonochrome ( DtexPixel p)

◆ DtexMakePixel()

PRMANAPI DtexPixel* DtexMakePixel ( int  numChan)

◆ DtexMergePixel()

PRMANAPI int DtexMergePixel ( DtexPixel dest,
DtexPixel src 
)

◆ DtexMergePixelEx()

PRMANAPI int DtexMergePixelEx ( DtexPixel dest,
DtexPixel src,
int  rgbChannel,
int  alphaChannel 
)

◆ DtexMetadataCount()

PRMANAPI int DtexMetadataCount ( DtexMetadata meta)

◆ DtexMetadataGetByIndex()

PRMANAPI int DtexMetadataGetByIndex ( DtexMetadata meta,
int  index,
char const **  token,
void const **  value 
)

◆ DtexMetadataGetByName()

PRMANAPI int DtexMetadataGetByName ( DtexMetadata meta,
char const *  name,
char const **  token,
void const **  value 
)

◆ DtexMetadataSet()

PRMANAPI int DtexMetadataSet ( DtexMetadata meta,
char const *  token,
void const *  value 
)

◆ DtexNl()

PRMANAPI int DtexNl ( DtexImage i,
float *  Nl 
)

◆ DtexNP()

PRMANAPI int DtexNP ( DtexImage i,
float *  NP 
)

◆ DtexNumChan()

PRMANAPI int DtexNumChan ( DtexImage i)

◆ DtexOpenFile()

PRMANAPI int DtexOpenFile ( const char *  name,
const char *  mode,
DtexCache cache,
DtexFile **  result 
)

◆ DtexPixelGetNumChan()

PRMANAPI int DtexPixelGetNumChan ( DtexPixel pix)

◆ DtexPixelGetNumPoints()

PRMANAPI int DtexPixelGetNumPoints ( DtexPixel pix)

◆ DtexPixelGetPoint()

PRMANAPI int DtexPixelGetPoint ( DtexPixel pix,
int  i,
float *  z,
float *  data 
)

◆ DtexPixelSetPoint()

PRMANAPI int DtexPixelSetPoint ( DtexPixel pix,
int  i,
float  z,
float *  data 
)

◆ DtexPrintPixel()

PRMANAPI int DtexPrintPixel ( DtexPixel p)

◆ DtexPrintStats()

PRMANAPI void DtexPrintStats ( void  )

◆ DtexQueryMemory()

PRMANAPI void DtexQueryMemory ( unsigned long *  current,
unsigned long *  peak 
)

◆ DtexSetLargeAccessor()

PRMANAPI int DtexSetLargeAccessor ( DtexCache c,
DtexLargeAccessor accessor 
)

◆ DtexSetPixel()

PRMANAPI int DtexSetPixel ( DtexImage img,
int  x,
int  y,
DtexPixel pix 
)

◆ DtexSetPixelData()

PRMANAPI int DtexSetPixelData ( DtexImage img,
int  x,
int  y,
int  numChan,
int  numPoints,
float *  data 
)

◆ DtexSpecifyPixel()

PRMANAPI int DtexSpecifyPixel ( DtexPixel pix,
int  numChan,
int  numPoints,
float *  data 
)

◆ DtexSync()

PRMANAPI int DtexSync ( DtexFile ds)

◆ DtexSyncCache()

PRMANAPI int DtexSyncCache ( DtexCache dsc)

◆ DtexTileHeight()

PRMANAPI int DtexTileHeight ( DtexImage i)

◆ DtexTileWidth()

PRMANAPI int DtexTileWidth ( DtexImage i)

◆ DtexWidth()

PRMANAPI int DtexWidth ( DtexImage i)