ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/doc/man/man1/robjutil.1
(Generate patch)

Comparing ray/doc/man/man1/robjutil.1 (file contents):
Revision 1.2 by greg, Thu Apr 2 20:44:15 2020 UTC vs.
Revision 1.8 by greg, Tue Jan 31 16:29:19 2023 UTC

# Line 19 | Line 19 | robjutil - operate on Wavefront .OBJ file
19   ][
20   .B "-c epsilon"
21   ][
22 + .B +T
23 + ][
24   .B "-x 'xf spec'"
25   ]
26   [
# Line 35 | Line 37 | will be produced on the standard output.
37   If
38   .I -r
39   is given, a modified .OBJ file will be sent to the standard output.
40 < This is the default, and is
41 < typically more useful, since surface normals are better handled by the
42 < .I obj2rad(1)
43 < and
42 < .I obj2mesh(1)
43 < converters.
44 < The latter also preserves local texture coordinates for mapping materials.
40 > This is the default, and is more useful for preserving
41 > texture coordinates if directed to
42 > .I obj2mesh(1).
43 > .PP
44   The
45   .I +v
46   option turns on verbose progress reports.
# Line 75 | Line 74 | The
74   and
75   .I \+m
76   options are mutually exclusive.
77 + .PP
78   Similarly, the
79   .I "\-g gname"
80   option says to remove all faces belonging to the group
# Line 85 | Line 85 | options may be given.
85   There is also a
86   .I +g
87   option to save just the named group(s).
88 + Object statements are treated the same as group statements in the input, so
89 + .I +/-g
90 + option can also be applied to object names.
91 + Note that an object name will be overridden by a group name that follows
92 + it in the input, and vice versa.
93   .PP
94 < A
94 > The
95   .I "\-c epsilon"
96 < parameter may be given to coalesce vertices that are within the given epsilon.
96 > option tells
97 > .I robjutil
98 > to coalesce vertices that are within the given epsilon.
99   This is useful to improve the connectivity of models that were produced
100   in a sloppy conversion process from independent polygons.
101   When producing a Radiance file via the
# Line 100 | Line 107 | at least for triangle mesh input.
107   does not attempt to break up non-planar polygons into triangles,
108   which is usually not a problem for .OBJ output, but may be for Radiance
109   scene descriptions (+r).
110 + To break all surfaces into triangles, include the
111 + .I +T
112 + option.
113   .PP
114   The
115   .I \-x
# Line 111 | Line 121 | match the standard arguments used by
121   except that the
122   .I \-a
123   option is not supported for creating arrays of objects.
124 < Also, any scaling applied does not affect the epsilon value given for
124 > Also, any scaling factors do not affect the epsilon value given for
125   coalescing vertices, as this operation is applied prior to the transform,
126   even if
127   .I \-c
# Line 121 | Line 131 | To remove degenerate and duplicate faces from "orig.ob
131   .IP "" .2i
132   robjutil +r orig.obj > final.rad
133   .PP
124 To convert the same file, preserving surface normal interpolation:
125 .IP "" .2i
126 robjutil orig.obj | obj2rad > withnormals.rad
127 .PP
134   To extract only the groups "cat" and "bell" from the file "kitty.obj" and
135   write to a Radiance triangle mesh using materials from "kitty.mat":
136   .IP "" .2i
# Line 133 | Line 139 | robjutil +g cat +g bell kitty.obj | obj2mesh -a kitty.
139   To rotate the scene 90 degrees about the Y-axis and scale by 10:
140   .IP "" .2i
141   robjutil -x "-ry 90 -s 10" orig.obj > transformed.obj
142 + .SH NOTES
143 + The .OBJ output of
144 + .I robjutil
145 + uses relative indices, so files it produces may be concatenated
146 + on the input of other tools such as
147 + .I obj2rad
148 + and
149 + .I obj2mesh
150 + by piping from
151 + .I cat(1)
152 + or similar.
153 + This offers a convenient way to separate geometry from a single .OBJ
154 + input, manipulate it in some way, then recombine during conversion.
155 + .PP
156 + Unlike
157 + .I obj2rad
158 + and
159 + .I obj2mesh,
160 + .I robjutil
161 + with the
162 + .I +r
163 + option will not substitute the group name for a material id if no
164 + .I usemtl
165 + statements are found on the input.
166 + Instead, it will assign each surface the material
167 + .I DEFAULT_MATERIAL.
168 + Since it is possible to use the
169 + .I +/-g
170 + option to select groups to include or exclude on output, it is
171 + still possible to assign materials by group manually.
172   .SH AUTHOR
173   Greg Ward
174   .SH "SEE ALSO"
175 < obj2mesh(1), obj2rad(1) oconv(1), xform(1)
175 > cat(1), genbox(1), gensurf(1), obj2mesh(1), obj2rad(1) oconv(1), xform(1)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines