| 1 | greg | 1.6 | .\" RCSid "$Id: rhcopy.1,v 1.5 2019/02/12 23:36:33 greg Exp $" | 
| 2 | greg | 1.1 | .TH RHCOPY 1 1/15/99 RADIANCE | 
| 3 |  |  | .SH NAME | 
| 4 | greg | 1.6 | rhcopy - copy ray information to/from a holodeck | 
| 5 | greg | 1.1 | .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 | greg | 1.6 | .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 | greg | 1.1 | .SH DESCRIPTION | 
| 48 |  |  | .I Rhcopy | 
| 49 | greg | 1.6 | typically adds ray sample data to an existing holodeck. | 
| 50 | greg | 1.1 | 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 | greg | 1.6 | picture files and their corresponding | 
| 56 |  |  | depth buffers, which must be paired on the command line after the | 
| 57 | greg | 1.1 | .I \-p | 
| 58 |  |  | option. | 
| 59 | greg | 1.6 | 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 | greg | 1.1 | .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 | greg | 1.5 | are the ones that will affect later rendering or viewing. | 
| 119 | greg | 1.1 | 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 | greg | 1.3 | rhcopy new.hdk \-h old.hdk | 
| 131 | greg | 1.1 | .PP | 
| 132 | greg | 1.6 | 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 | greg | 1.1 | To add ray samples from two pictures to the new holodeck: | 
| 137 |  |  | .IP "" .2i | 
| 138 | greg | 1.4 | rhcopy new.hdk \-p view1.hdr view1.zbf view2.hdr view2.zbf | 
| 139 | greg | 1.1 | .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 | 1.6 | Greg Ward | 
| 151 | greg | 1.1 | .SH ACKNOWLEDGMENT | 
| 152 |  |  | This work was supported by Silicon Graphics, Inc. | 
| 153 |  |  | .SH "SEE ALSO" | 
| 154 | greg | 1.6 | getinfo(1), pfilt(1), rcode_depth(1), rcontrib(1), | 
| 155 |  |  | rhinfo(1), rholo(1), rhoptimize(1), rpict(1), rtrace(1), |