RenderMan API  23.0
ndspy.h
Go to the documentation of this file.
1 /*
2 # ------------------------------------------------------------------------------
3 #
4 # Copyright (c) 1986-2019 Pixar. All rights reserved.
5 #
6 # The information in this file (the "Software") is provided for the exclusive
7 # use of the software licensees of Pixar ("Licensees"). Licensees have the
8 # right to incorporate the Software into other products for use by other
9 # authorized software licensees of Pixar, without fee. Except as expressly
10 # permitted herein, the Software may not be disclosed to third parties, copied
11 # or duplicated in any form, in whole or in part, without the prior written
12 # permission of Pixar.
13 #
14 # The copyright notices in the Software and this entire statement, including the
15 # above license grant, this restriction and the following disclaimer, must be
16 # included in all copies of the Software, in whole or in part, and all permitted
17 # derivative works of the Software, unless such copies or derivative works are
18 # solely in the form of machine-executable object code generated by a source
19 # language processor.
20 #
21 # PIXAR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
22 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL PIXAR BE
23 # LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
24 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
25 # OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
26 # CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. IN NO CASE WILL
27 # PIXAR'S TOTAL LIABILITY FOR ALL DAMAGES ARISING OUT OF OR IN CONNECTION WITH
28 # THE USE OR PERFORMANCE OF THIS SOFTWARE EXCEED $50.
29 #
30 # Pixar
31 # 1200 Park Ave
32 # Emeryville CA 94608
33 #
34 # ------------------------------------------------------------------------------
35 */
36 
37 #ifndef NDSPY_H
38 #define NDSPY_H
39 
40 #include <math.h> // for floorf
41 #include "prmanapi.h" // for PRMANAPI, PRMANEXPORT
42 #include "ri.h" // for RtPointer
43 
44 // 2^17 - 8. This makes the dsyp server channel buffer large enough to send
45 // float RGBA 64x64 buckets without splitting them vertically.
46 #define PkDspyMaxMsgSize 131064
47 
48 #define PkDspyServerMsgOpen (65 + 1)
49 #define PkDspyServerMsgImage (65 + 2)
50 #define PkDspyServerMsgData (65 + 3)
51 #define PkDspyServerMsgQuery (65 + 4)
52 #define PkDspyServerMsgClose (65 + 5)
53 #define PkDspyServerMsgDeepData (65 + 6)
54 #define PkDspyServerMsgActiveRegion (65 + 7)
55 #define PkDspyServerMsgMetadata (65 + 8)
56 #define PkDspyServerMsgMetadataPart (65 + 9)
57 
58 /*
59 PtDspyUnsigned64
60 PtDspySigned64
61 */
62 typedef double PtDspyFloat64;
63 typedef float PtDspyFloat32;
64 
65 #if defined(__mips)
66 #define PkDspyByteOrderNative PkDspyByteOrderHiLo
67 #elif defined(__mips64)
68 #define PkDspyByteOrderNative PkDspyByteOrderHiLo
69 #elif defined(__sparc)
70 #define PkDspyByteOrderNative PkDspyByteOrderHiLo
71 #elif defined(__alpha)
72 #define PkDspyByteOrderNative PkDspyByteOrderLoHi
73 #elif defined(__ppc__)
74 #define PkDspyByteOrderNative PkDspyByteOrderHiLo
75 #else
76 #define PkDspyByteOrderNative PkDspyByteOrderLoHi
77 #endif
78 
79 typedef unsigned int PtDspyUnsigned32;
80 typedef int PtDspySigned32;
81 
82 typedef unsigned short PtDspyUnsigned16;
83 typedef short PtDspySigned16;
84 
85 typedef unsigned char PtDspyUnsigned8;
86 typedef char PtDspySigned8;
87 
90 
91 #define PkDspyClassFloat 1
92 #define PkDspyClassInt 2
93 
94 #define PkDspyNone 0
95 #define PkDspyFloat32 1
96 #define PkDspyUnsigned32 2
97 #define PkDspySigned32 3
98 #define PkDspyUnsigned16 4
99 #define PkDspySigned16 5
100 #define PkDspyUnsigned8 6
101 #define PkDspySigned8 7
102 #define PkDspyArrayBegin 10
103 #define PkDspyArrayEnd 11
104 
105 #define PkDspyMaskType 8191
106 
107 #define PkDspyMaskOrder (PkDspyByteOrderHiLo | PkDspyByteOrderLoHi)
108 #define PkDspyShiftOrder 13
109 #define PkDspyByteOrderHiLo 8192
110 #define PkDspyByteOrderLoHi 16384
111 
112 /*
113  * PkDspyOpenPortCount controls the number of open display connections are used
114  * by netrender/windows - or any process with an "internal" display server.
115  */
116 #define PkDspyOpenPortCount 1024
117 
118 typedef struct
119 {
120  char const* name;
121  unsigned type;
123 
124 typedef struct
125 {
130 
131 typedef struct
132 {
136 typedef struct
137 {
140 
141 typedef struct
142 {
145 
146 typedef struct
147 {
153 
154 typedef struct
155 {
159 
160 typedef struct
161 {
164 
165 typedef struct
166 {
169 
170 typedef struct
171 {
174 
175 typedef struct
176 {
179 
180 typedef struct
181 {
182  int zero, one, min, max;
186 
187 typedef struct
188 {
191 
192 typedef struct
193 {
196 
197 typedef enum
198 {
212 
213 typedef enum
214 {
219 
220 typedef enum
221 {
230 
231 typedef enum
232 {
240 } PtDspyError;
241 
242 #define PkDspyFlagsWantsScanLineOrder 1
243 #define PkDspyFlagsWantsEmptyBuckets 2
244 #define PkDspyFlagsWantsNullEmptyBuckets 4
245 typedef struct
246 {
247  int flags;
248 } PtFlagStuff;
249 
250 typedef void* PtDspyImageHandle;
251 
252 typedef void* PtDspyChannel;
253 
254 typedef void* PtDspyOutput;
255 
256 typedef struct
257 {
263 } PtDspyMsgOpen;
264 typedef struct
265 {
273 
274 typedef struct
275 {
281 
282 typedef struct
283 {
290 } PtDspyMsgData;
291 
292 typedef struct
293 {
301 
302 typedef struct
303 {
312 
313 typedef struct
314 {
320 
321 typedef struct
322 {
326 
327 typedef struct
328 {
332 
333 typedef struct
334 {
342 
343 typedef struct uparam
344 {
346  char vtype, vcount;
348  int nbytes;
349 } UserParameter;
350 
351 #ifdef __cplusplus
352 extern "C" {
353 #endif
354 
355 typedef PtDspyError (*PtDspyOpenFuncPtr)(PtDspyImageHandle* image, const char* drivername,
356  const char* filename, int width, int height,
357  int paramCount, const UserParameter* parameters,
358  int iFormatCount, PtDspyDevFormat* format,
359  PtFlagStuff* flagstuff);
360 
361 typedef PtDspyError (*PtDspyWriteFuncPtr)(PtDspyImageHandle image, int xmin, int xmax_plus_one,
362  int ymin, int ymax_plus_one, int entrysize,
363  const unsigned char* data);
364 
365 typedef PtDspyError (*PtDspyDeepWriteFuncPtr)(PtDspyImageHandle image, int xmin, int xmax_plus_one,
366  int ymin, int ymax_plus_one, char* data, int datasize,
367  PtDspyUnsigned32* pixeloffsets,
368  PtDspyUnsigned32* pixelsizes);
369 
371  int xmax_plus_one, int ymin, int ymax_plus_one);
372 
373 typedef PtDspyError (*PtDspyMetadataFuncPtr)(PtDspyImageHandle image, char* metadata);
374 
376 
378 
379 typedef PtDspyError (*PtDspyReopenFuncPtr)(PtDspyImageHandle image, const char* drivername,
380  const char* filename, int width, int height,
381  int paramCount, const UserParameter* parameters,
382  int iFormatCount, PtDspyDevFormat* format,
383  PtFlagStuff* flagstuff);
384 
386 
388 
389 typedef enum
390 {
394 
395 typedef struct
396 {
397  int Version;
405 
406 PRMANAPI void DspyMemReverseCopy(unsigned char* t, const unsigned char* s, int len);
407 
408 PRMANAPI void DspyMemReverse(unsigned char* t, int len);
409 
410 PRMANAPI PtDspyError DspyFindStringInParamList(RtConstString const string, char** result,
411  int paramCount, const UserParameter* parameters);
412 
413 PRMANAPI PtDspyError DspyFindMatrixInParamList(RtConstString const string, float* result,
414  int paramCount, const UserParameter* parameters);
415 
416 PRMANAPI PtDspyError DspyFindFloatInParamList(RtConstString const string, float* result,
417  int paramCount, const UserParameter* parameters);
418 
419 PRMANAPI PtDspyError DspyFindFloatsInParamList(RtConstString const string, int* resultCount,
420  float* result, int paramCount,
421  const UserParameter* parameters);
422 
423 PRMANAPI PtDspyError DspyFindIntInParamList(RtConstString const string, int* result, int paramCount,
424  const UserParameter* parameters);
425 
426 PRMANAPI PtDspyError DspyFindIntsInParamList(RtConstString const string, int* resultCount,
427  int* result, int paramCount,
428  const UserParameter* parameters);
429 
431  int outFormatCount, const PtDspyDevFormat* outFormat);
432 
433 PRMANAPI void DspyError(const char* module, const char* fmt, ...);
434 
436  const PtDspyWriteFuncPtr pWrite,
437  const PtDspyCloseFuncPtr pClose,
438  const PtDspyQueryFuncPtr pQuery);
439 
441  const PtDspyDriverFunctionTable* pTable);
442 
444 
445 PRMANEXPORT PtDspyError DspyImageOpen(PtDspyImageHandle* image, const char* drivername,
446  const char* filename, int width, int height, int paramCount,
447  const UserParameter* parameters, int iFormatCount,
448  PtDspyDevFormat* format, PtFlagStuff* flagstuff);
449 
450 PRMANEXPORT PtDspyError DspyImageData(PtDspyImageHandle image, int xmin, int xmax, int ymin,
451  int ymax, int entrysize, const unsigned char* data);
452 
453 PRMANEXPORT PtDspyError DspyImageActiveRegion(PtDspyImageHandle image, int xmin, int xmax, int ymin,
454  int ymax);
455 
456 PRMANEXPORT PtDspyError DspyImageClose(PtDspyImageHandle);
457 
458 PRMANEXPORT PtDspyError DspyImageReopen(PtDspyImageHandle image, const char* drivername,
459  const char* filename, int width, int height, int paramCount,
460  const UserParameter* parameters, int iFormatCount,
461  PtDspyDevFormat* format, PtFlagStuff* flagstuff);
462 
463 PRMANEXPORT PtDspyError DspyImageDelayClose(PtDspyImageHandle);
464 
465 PRMANEXPORT PtDspyError DspyImageQuery(PtDspyImageHandle, PtDspyQueryType, int, void*);
466 
467 PRMANEXPORT PtDspyError DspyMetadata(PtDspyImageHandle, char* metadata);
468 
469 PRMANEXPORT PtDspyError DspyImageDeepData(PtDspyImageHandle pvImage, int xmin, int xmax, int ymin,
470  int ymax, char* data, int datasize, int* pixeloffsets,
471  int* pixelsizes);
472 
473 PRMAN_INLINE int DspyClamp(float value, int min, int max)
474 {
475  int result = (int)value;
476  result = min > result ? min : result;
477  result = max < result ? max : result;
478  return result;
479 }
480 
482 {
483  return u < 0.0031308f ? 12.92f * u : 1.055f * powf(u, 0.4167f) - 0.055f;
484 }
485 
486 PRMAN_INLINE int DspyQuantize(float value, int x, int y, int k, int min, int max, int dither)
487 {
488  float const s_order[8][8] = {
489  {
490  -0.49219f,
491  0.00781f,
492  -0.36719f,
493  0.13281f,
494  -0.46094f,
495  0.03906f,
496  -0.33594f,
497  0.16406f,
498  },
499  {
500  0.25781f,
501  -0.24219f,
502  0.38281f,
503  -0.11719f,
504  0.28906f,
505  -0.21094f,
506  0.41406f,
507  -0.08594f,
508  },
509  {
510  -0.30469f,
511  0.19531f,
512  -0.42969f,
513  0.07031f,
514  -0.27344f,
515  0.22656f,
516  -0.39844f,
517  0.10156f,
518  },
519  {
520  0.44531f,
521  -0.05469f,
522  0.32031f,
523  -0.17969f,
524  0.47656f,
525  -0.02344f,
526  0.35156f,
527  -0.14844f,
528  },
529  {
530  -0.44531f,
531  0.05469f,
532  -0.32031f,
533  0.17969f,
534  -0.47656f,
535  0.02344f,
536  -0.35156f,
537  0.14844f,
538  },
539  {
540  0.30469f,
541  -0.19531f,
542  0.42969f,
543  -0.07031f,
544  0.27344f,
545  -0.22656f,
546  0.39844f,
547  -0.10156f,
548  },
549  {
550  -0.25781f,
551  0.24219f,
552  -0.38281f,
553  0.11719f,
554  -0.28906f,
555  0.21094f,
556  -0.41406f,
557  0.08594f,
558  },
559  {
560  0.49219f,
561  -0.00781f,
562  0.36719f,
563  -0.13281f,
564  0.46094f,
565  -0.03906f,
566  0.33594f,
567  -0.16406f,
568  },
569  };
570  int dx, dy;
571  switch (k & 3)
572  {
573  case 0:
574  dx = x & 7;
575  dy = y & 7;
576  break;
577  case 1:
578  dx = 7 - (y & 7);
579  dy = x & 7;
580  break;
581  case 2:
582  dx = 7 - (x & 7);
583  dy = 7 - (y & 7);
584  break;
585  case 3:
586  dx = y & 7;
587  dy = 7 - (x & 7);
588  break;
589  } // (k & 3)
590 
591  value *= max - min;
592  if (dither) value += s_order[dy][dx] + 0.49999f;
593  int result = min + (int)floorf(value);
594  result = min > result ? min : result;
595  result = max < result ? max : result;
596  return result;
597 }
598 
599 #ifdef __cplusplus
600 }
601 #endif
602 
603 #endif /* ndef NDSPY_H */
PtDspyUnsigned32 ymin
Definition: ndspy.h:288
PRMANAPI PtDspyError DspyFindIntInParamList(RtConstString const string, int *result, int paramCount, const UserParameter *parameters)
PtDriverVersion
Definition: ndspy.h:389
char const * RtConstString
Definition: ri.h:85
PtDspySigned32 xmin
Definition: ndspy.h:148
PtDspyServerMessage msg
Definition: ndspy.h:284
PRMANEXPORT PtDspyError DspyImageDelayClose(PtDspyImageHandle)
PtDspyUnsigned8 rewrite
Definition: ndspy.h:143
unsigned short PtDspyUnsigned16
Definition: ndspy.h:82
PRMANAPI void DspyError(const char *module, const char *fmt,...)
PtDspyUnsigned8 redraw
Definition: ndspy.h:138
PtDspyServerMessage msg
Definition: ndspy.h:323
char vcount
Definition: ndspy.h:346
char vtype
Definition: ndspy.h:346
PRMANAPI PtDspyError DspyRegisterDriver(const char *name, const PtDspyOpenFuncPtr pOpen, const PtDspyWriteFuncPtr pWrite, const PtDspyCloseFuncPtr pClose, const PtDspyQueryFuncPtr pQuery)
float PtDspyFloat32
Definition: ndspy.h:63
PtDspyServerMessage msg
Definition: ndspy.h:294
PtDspyUnsigned32 y
Definition: ndspy.h:157
PRMANAPI PtDspyError DspyFindIntsInParamList(RtConstString const string, int *resultCount, int *result, int paramCount, const UserParameter *parameters)
PtDspyError(* PtDspyFlushFuncPtr)(PtDspyImageHandle)
Definition: ndspy.h:377
PRMANEXPORT PtDspyError DspyMetadata(PtDspyImageHandle, char *metadata)
int flags
Definition: ndspy.h:247
PtDspyUnsigned32 PtDspyMsgLen
Definition: ndspy.h:88
PtDspyUnsigned32 ymin
Definition: ndspy.h:308
void * RtPointer
Definition: ri.h:69
PtDspyUnsigned32 xmin
Definition: ndspy.h:286
#define PRMANAPI
Definition: prmanapi.h:111
PtDspyOpenFuncPtr pOpen
Definition: ndspy.h:398
PtDspyUnsigned32 datasize
Definition: ndspy.h:310
PtDspyGridStyle
Definition: ndspy.h:213
PtDspyError(* PtDspyWriteFuncPtr)(PtDspyImageHandle image, int xmin, int xmax_plus_one, int ymin, int ymax_plus_one, int entrysize, const unsigned char *data)
Definition: ndspy.h:361
PtDspyError(* PtDspyCloseFuncPtr)(PtDspyImageHandle)
Definition: ndspy.h:375
PRMAN_INLINE int DspyQuantize(float value, int x, int y, int k, int min, int max, int dither)
Definition: ndspy.h:486
unsigned type
Definition: ndspy.h:121
Definition: ndspy.h:343
PtDspyUnsigned32 id
Definition: ndspy.h:316
PRMANAPI void DspyMemReverseCopy(unsigned char *t, const unsigned char *s, int len)
PtDspyQueryFuncPtr pQuery
Definition: ndspy.h:401
PtDspySigned8 XunusedpaddingX
Definition: ndspy.h:338
PtDspyUnsigned32 formatCount
Definition: ndspy.h:262
PtDspyUnsigned32 type
Definition: ndspy.h:340
void * PtDspyImageHandle
Definition: ndspy.h:250
PtDspyServerMessage msg
Definition: ndspy.h:266
PtDspySigned32 ymin
Definition: ndspy.h:150
PtDspySigned32 ymax
Definition: ndspy.h:151
PtDspyCloseFuncPtr pClose
Definition: ndspy.h:400
PRMANAPI PtDspyError DspyFindFloatInParamList(RtConstString const string, float *result, int paramCount, const UserParameter *parameters)
PtDspySigned8 vcount
Definition: ndspy.h:336
PtDspyUnsigned32 id
Definition: ndspy.h:259
PtDspyUnsigned32 ymin
Definition: ndspy.h:298
PtDspyQueryType query
Definition: ndspy.h:317
PtDspyUnsigned32 width
Definition: ndspy.h:126
PtDspyUnsigned32 xmax
Definition: ndspy.h:287
PtDspyUnsigned32 id
Definition: ndspy.h:295
PtDspyUnsigned32 height
Definition: ndspy.h:269
PtDspyError
Definition: ndspy.h:231
#define PRMANEXPORT
Definition: prmanapi.h:81
PRMANEXPORT PtDspyError DspyImageDeepData(PtDspyImageHandle pvImage, int xmin, int xmax, int ymin, int ymax, char *data, int datasize, int *pixeloffsets, int *pixelsizes)
unsigned char PtDspyUnsigned8
Definition: ndspy.h:85
PtDspyError(* PtDspyQueryFuncPtr)(PtDspyImageHandle, PtDspyQueryType, int, void *)
Definition: ndspy.h:387
PRMANAPI PtDspyError DspyFindStringInParamList(RtConstString const string, char **result, int paramCount, const UserParameter *parameters)
PtDspyError(* PtDspyDelayCloseFuncPtr)(PtDspyImageHandle)
Definition: ndspy.h:385
PtDspyUnsigned32 ymax
Definition: ndspy.h:309
int nbytes
Definition: ndspy.h:348
PtDspyUnsigned32 peakkB
Definition: ndspy.h:189
PtDspyUnsigned32 xmax
Definition: ndspy.h:297
PtDspyUnsigned32 paramCount
Definition: ndspy.h:271
PtDspyFloat32 aspectRatio
Definition: ndspy.h:128
void * PtDspyOutput
Definition: ndspy.h:254
PtDspyUnsigned32 formatCount
Definition: ndspy.h:278
PtDspyUnsigned32 length
Definition: ndspy.h:318
PRMANEXPORT PtDspyError DspyImageOpen(PtDspyImageHandle *image, const char *drivername, const char *filename, int width, int height, int paramCount, const UserParameter *parameters, int iFormatCount, PtDspyDevFormat *format, PtFlagStuff *flagstuff)
PRMANEXPORT PtDspyError DspyImageReopen(PtDspyImageHandle image, const char *drivername, const char *filename, int width, int height, int paramCount, const UserParameter *parameters, int iFormatCount, PtDspyDevFormat *format, PtFlagStuff *flagstuff)
PtDspyWriteFuncPtr pWrite
Definition: ndspy.h:399
PRMAN_INLINE int DspyClamp(float value, int min, int max)
Definition: ndspy.h:473
PtDspyServerMessage msg
Definition: ndspy.h:304
PtDspyUnsigned32 paramCount
Definition: ndspy.h:279
char const * name
Definition: ndspy.h:120
PtDspyBucketOrder
Definition: ndspy.h:220
PRMANEXPORT PtDspyError DspyImageQuery(PtDspyImageHandle, PtDspyQueryType, int, void *)
RtConstString name
Definition: ndspy.h:345
void * PtDspyChannel
Definition: ndspy.h:252
PtDspyUnsigned32 seconds
Definition: ndspy.h:194
PtDspyUnsigned32 x
Definition: ndspy.h:156
PtDspyUnsigned32 width
Definition: ndspy.h:268
PtDspySigned32 xmax
Definition: ndspy.h:149
PtDspyError(* PtDspyOpenFuncPtr)(PtDspyImageHandle *image, const char *drivername, const char *filename, int width, int height, int paramCount, const UserParameter *parameters, int iFormatCount, PtDspyDevFormat *format, PtFlagStuff *flagstuff)
Definition: ndspy.h:355
PtDspyServerMessage msg
Definition: ndspy.h:258
PtDspyServerMessage msg
Definition: ndspy.h:315
PtDspyError(* PtDspyDeepWriteFuncPtr)(PtDspyImageHandle image, int xmin, int xmax_plus_one, int ymin, int ymax_plus_one, char *data, int datasize, PtDspyUnsigned32 *pixeloffsets, PtDspyUnsigned32 *pixelsizes)
Definition: ndspy.h:365
PtDspyUnsigned32 id
Definition: ndspy.h:305
PtDspyError(* PtDspyActiveRegionFuncPtr)(PtDspyImageHandle image, int xmin, int xmax_plus_one, int ymin, int ymax_plus_one)
Definition: ndspy.h:370
PtDspyUnsigned32 xmax
Definition: ndspy.h:307
PtDspyMetadataFuncPtr pMetadata
Definition: ndspy.h:403
PRMANAPI PtDspyError DspyReorderFormatting(int formatCount, PtDspyDevFormat *format, int outFormatCount, const PtDspyDevFormat *outFormat)
#define PRMAN_INLINE
Definition: prmanapi.h:86
PRMANAPI PtDspyError DspyFindMatrixInParamList(RtConstString const string, float *result, int paramCount, const UserParameter *parameters)
PtDspyServerMessage msg
Definition: ndspy.h:329
PRMANEXPORT PtDspyError DspyImageClose(PtDspyImageHandle)
PtDspySigned8 byteorder
Definition: ndspy.h:337
PtDspyUnsigned32 ymax
Definition: ndspy.h:289
PtDspyError(* PtDspyMetadataFuncPtr)(PtDspyImageHandle image, char *metadata)
Definition: ndspy.h:373
PRMANAPI int DspyGetNumberOfHosts()
PtDspySigned8 vtype
Definition: ndspy.h:335
double PtDspyFloat64
Definition: ndspy.h:62
int PtDspySigned32
Definition: ndspy.h:80
struct uparam UserParameter
PtDspyUnsigned32 width
Definition: ndspy.h:260
PtDspyUnsigned32 PtDspyServerMessage
Definition: ndspy.h:89
PRMANEXPORT PtDspyError DspyImageActiveRegion(PtDspyImageHandle image, int xmin, int xmax, int ymin, int ymax)
PtDspyUnsigned32 xmin
Definition: ndspy.h:296
PtDspyActiveRegionFuncPtr pActiveRegion
Definition: ndspy.h:402
int supportsGrids
Definition: ndspy.h:172
PRMANAPI PtDspyError DspyRegisterDriverTable(const char *name, const PtDspyDriverFunctionTable *pTable)
PtDspyServerMessage msg
Definition: ndspy.h:276
PtDspyUnsigned32 id
Definition: ndspy.h:330
PtDspyUnsigned8 interactive
Definition: ndspy.h:134
PtDspyUnsigned8 overwrite
Definition: ndspy.h:133
PtDspyUnsigned32 formatCount
Definition: ndspy.h:270
PtDspyUnsigned32 id
Definition: ndspy.h:267
PRMANAPI PtDspyError DspyFindFloatsInParamList(RtConstString const string, int *resultCount, float *result, int paramCount, const UserParameter *parameters)
PtDspyUnsigned32 xmin
Definition: ndspy.h:306
PtDspyUnsigned32 nbytes
Definition: ndspy.h:339
PtDspyUnsigned32 id
Definition: ndspy.h:285
PtDspyUnsigned32 ymax
Definition: ndspy.h:299
PtDspyUnsigned32 id
Definition: ndspy.h:324
PRMAN_INLINE float DspyLinearTosRGB(float u)
Definition: ndspy.h:481
PtDspyUnsigned32 id
Definition: ndspy.h:277
PRMANEXPORT PtDspyError DspyImageData(PtDspyImageHandle image, int xmin, int xmax, int ymin, int ymax, int entrysize, const unsigned char *data)
char PtDspySigned8
Definition: ndspy.h:86
short PtDspySigned16
Definition: ndspy.h:83
PtDspyQueryType
Definition: ndspy.h:197
PRMANAPI void DspyMemReverse(unsigned char *t, int len)
PtDspyError(* PtDspyReopenFuncPtr)(PtDspyImageHandle image, const char *drivername, const char *filename, int width, int height, int paramCount, const UserParameter *parameters, int iFormatCount, PtDspyDevFormat *format, PtFlagStuff *flagstuff)
Definition: ndspy.h:379
unsigned int PtDspyUnsigned32
Definition: ndspy.h:79
RtPointer value
Definition: ndspy.h:347
PtDspyUnsigned32 height
Definition: ndspy.h:261
PtDspyUnsigned32 height
Definition: ndspy.h:127