ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/util/normcodec.h
Revision: 2.3
Committed: Fri Jul 26 16:18:07 2019 UTC (4 years, 9 months ago) by greg
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Changes since 2.2: +1 -1 lines
State: FILE REMOVED
Log Message:
Moved rcode map support to common directory

File Contents

# Content
1 /* RCSid $Id: normcodec.h,v 2.2 2019/07/19 02:25:02 greg Exp $ */
2 /*
3 * Definitions and declarations for 32-bit vector normal encode/decode
4 *
5 * Include after stdio.h and fvect.h
6 * Includes resolu.h
7 */
8
9 #ifndef _RAD_NORMALCODEC_H_
10 #define _RAD_NORMALCODEC_H_
11
12 #include "resolu.h"
13
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17
18 #define NORMAL32FMT "32-bit_encoded_normal"
19
20 #define HF_HEADIN 0x1
21 #define HF_HEADOUT 0x2
22 #define HF_RESIN 0x4
23 #define HF_RESOUT 0x8
24 #define HF_ALL 0xf
25 #define HF_ENCODE 0x10
26
27 /* Structure for encoding/decoding normals */
28 typedef struct {
29 FILE *finp; /* input stream */
30 const char *inpname; /* input name */
31 int format; /* decoded format */
32 long dstart; /* start of data */
33 long curpos; /* current input position */
34 int hdrflags; /* header i/o flags */
35 char inpfmt[MAXFMTLEN]; /* format from header */
36 RESOLU res; /* input resolution */
37 } NORMCODEC;
38
39 /* Set codec defaults */
40 extern void set_nc_defaults(NORMCODEC *ncp);
41
42 /* Load/copy header */
43 extern int process_nc_header(NORMCODEC *ncp, int ac, char *av[]);
44
45 /* Check that we have what we need to decode normals */
46 extern int check_decode_normals(NORMCODEC *ncp);
47
48 /* Decode next normal from input */
49 extern int decode_normal_next(FVECT nrm, NORMCODEC *ncp);
50
51 /* Seek to the indicated pixel position */
52 extern int seek_nc_pix(NORMCODEC *ncp, int x, int y);
53
54 /* Read and decode normal for the given pixel */
55 extern int decode_normal_pix(FVECT nrm, NORMCODEC *ncp, int x, int y);
56
57 extern char *progname; /* global argv[0] (set by main) */
58
59 #ifdef __cplusplus
60 }
61 #endif
62 #endif /* _RAD_NORMALCODEC_H_ */