1 |
.\" RCSid "$Id: rhcopy.1,v 1.5 2019/02/12 23:36:33 greg Exp $" |
2 |
.TH RHCOPY 1 1/15/99 RADIANCE |
3 |
.SH NAME |
4 |
rhcopy - copy ray information to/from a holodeck |
5 |
.SH SYNOPSIS |
6 |
.B rhcopy |
7 |
.B dest_holo |
8 |
[ |
9 |
.B \-u |
10 |
][ |
11 |
.B \-d |
12 |
] |
13 |
.B "\-h src_holo .." |
14 |
.br |
15 |
or |
16 |
.br |
17 |
.B rhcopy |
18 |
.B dest_holo |
19 |
[ |
20 |
.B \-u |
21 |
][ |
22 |
.B \-d |
23 |
] |
24 |
.B "\-p src_hdr src_dpt .." |
25 |
.br |
26 |
or |
27 |
.br |
28 |
.B rhcopy |
29 |
.B dest_holo |
30 |
[ |
31 |
.B \-f{a|f|d} |
32 |
][ |
33 |
.B \-u |
34 |
][ |
35 |
.B \-d |
36 |
] |
37 |
.B "\-i[odplLv] |
38 |
.br |
39 |
or |
40 |
.br |
41 |
.B rhcopy |
42 |
.B src_holo |
43 |
[ |
44 |
.B \-f{a|f|d} |
45 |
] |
46 |
.B "\-o[odplLv] |
47 |
.SH DESCRIPTION |
48 |
.I Rhcopy |
49 |
typically adds ray sample data to an existing holodeck. |
50 |
In the first form, the ray samples are taken from one or more holodeck files |
51 |
given after the |
52 |
.I \-h |
53 |
option. |
54 |
In the second form, the ray samples are taken from one or more RADIANCE |
55 |
picture files and their corresponding |
56 |
depth buffers, which must be paired on the command line after the |
57 |
.I \-p |
58 |
option. |
59 |
In the third form, ray samples are read from the standard input |
60 |
based on parameters specified by the |
61 |
.I \-i |
62 |
option, which should match (for example) the corresponding |
63 |
.I \-o |
64 |
option of an |
65 |
.I rtrace(1) |
66 |
command. |
67 |
Note that a header is not expected on input, and some parameters |
68 |
are required for correct operation. |
69 |
A |
70 |
.I \-f |
71 |
option may be used to specify raw rather than ASCII data. |
72 |
.PP |
73 |
The final form reads rays from the given holodeck and writes |
74 |
them to the standard output according to the |
75 |
.I \-o |
76 |
specification. |
77 |
.PP |
78 |
The |
79 |
.I \-u |
80 |
option turns on duplicate ray checking. |
81 |
In some cases, the same ray may already exist in the destination holodeck, |
82 |
and it would be redundant to add it. |
83 |
By default, |
84 |
.I rhcopy |
85 |
does not check for duplicates, because it takes extra time, and in many |
86 |
invocations is not necessary, as when copying into an empty holodeck. |
87 |
.PP |
88 |
The |
89 |
.I \-d |
90 |
option turns off depth checking. |
91 |
Normally, |
92 |
.I rhcopy |
93 |
checks the OBSTRUCTIONS variable of the destination holodeck, and if it is |
94 |
set to True, makes sure that all contributing rays start outside each |
95 |
section. |
96 |
If OBSTRUCTIONS is set to False, then |
97 |
.I rhcopy |
98 |
makes sure that any contributing rays end outside each section. |
99 |
If OBSTRUCTIONS is not set, then this option has no effect. |
100 |
(See the |
101 |
.I rholo(1) |
102 |
man page for a definition of the OBSTRUCTIONS variable.)\0 |
103 |
.PP |
104 |
.I Rcopy |
105 |
cannot be used to create a holodeck -- use |
106 |
.I rholo |
107 |
for this purpose. |
108 |
For example, to create an empty holodeck, run |
109 |
.I rholo |
110 |
without either the |
111 |
.I \-n |
112 |
or |
113 |
.I \-o |
114 |
option. |
115 |
Whatever variables are set by |
116 |
.I rholo |
117 |
when the new holodeck is created |
118 |
are the ones that will affect later rendering or viewing. |
119 |
Since the ray sample data may be taken from any source, |
120 |
.I rholo |
121 |
and |
122 |
.I rhcopy |
123 |
may be used together to change certain unalterable holodeck parameters, |
124 |
such as the section grid geometry. |
125 |
.SH EXAMPLE |
126 |
To take data from an existing holodeck after changing the section grid: |
127 |
.IP "" .2i |
128 |
rholo new.hdk new.hif |
129 |
.br |
130 |
rhcopy new.hdk \-h old.hdk |
131 |
.PP |
132 |
A much less efficient way to copy the same data: |
133 |
.IP "" .2i |
134 |
rhcopy old.hdk -oodlv | rhcopy new.hdk -iodlv |
135 |
.PP |
136 |
To add ray samples from two pictures to the new holodeck: |
137 |
.IP "" .2i |
138 |
rhcopy new.hdk \-p view1.hdr view1.zbf view2.hdr view2.zbf |
139 |
.SH NOTES |
140 |
.I Rhcopy |
141 |
attempts to place the beams in the holodeck in a good |
142 |
order for quick access, but if the data comes from multiple sources, |
143 |
the results may not be optimal. |
144 |
For large holodecks, it is sometimes useful to run the |
145 |
.I rhoptimize(1) |
146 |
program once all runs of |
147 |
.I rhcopy |
148 |
are through. |
149 |
.SH AUTHOR |
150 |
Greg Ward |
151 |
.SH ACKNOWLEDGMENT |
152 |
This work was supported by Silicon Graphics, Inc. |
153 |
.SH "SEE ALSO" |
154 |
getinfo(1), pfilt(1), rcode_depth(1), rcontrib(1), |
155 |
rhinfo(1), rholo(1), rhoptimize(1), rpict(1), rtrace(1), |