--- ray/doc/man/man1/robjutil.1 2020/04/02 20:44:15 1.2 +++ ray/doc/man/man1/robjutil.1 2021/03/12 18:32:33 1.6 @@ -1,4 +1,4 @@ -.\" RCSid "$Id: robjutil.1,v 1.2 2020/04/02 20:44:15 greg Exp $" +.\" RCSid "$Id: robjutil.1,v 1.6 2021/03/12 18:32:33 greg Exp $" .TH ROBJUTIL 1 3/31/20 RADIANCE .SH NAME robjutil - operate on Wavefront .OBJ file @@ -19,6 +19,8 @@ robjutil - operate on Wavefront .OBJ file ][ .B "-c epsilon" ][ +.B +T +][ .B "-x 'xf spec'" ] [ @@ -42,6 +44,7 @@ and .I obj2mesh(1) converters. The latter also preserves local texture coordinates for mapping materials. +.PP The .I +v option turns on verbose progress reports. @@ -75,6 +78,7 @@ The and .I \+m options are mutually exclusive. +.PP Similarly, the .I "\-g gname" option says to remove all faces belonging to the group @@ -85,10 +89,17 @@ options may be given. There is also a .I +g option to save just the named group(s). +Object statements are treated the same as group statements in the input, so +.I +/-g +option can also be applied to object names. +Note that an object name will be overridden by a group name that follows +it in the input, and vice versa. .PP -A +The .I "\-c epsilon" -parameter may be given to coalesce vertices that are within the given epsilon. +option tells +.I robjutil +to coalesce vertices that are within the given epsilon. This is useful to improve the connectivity of models that were produced in a sloppy conversion process from independent polygons. When producing a Radiance file via the @@ -102,6 +113,10 @@ which is usually not a problem for .OBJ output, but ma scene descriptions (+r). .PP The +.I +T +option turns all faces with 4 or more sides into triangles. +.PP +The .I \-x option may be used to specify a final transform to apply to all coordinates in the file before output. @@ -111,7 +126,7 @@ match the standard arguments used by except that the .I \-a option is not supported for creating arrays of objects. -Also, any scaling applied does not affect the epsilon value given for +Also, any scaling factors do not affect the epsilon value given for coalescing vertices, as this operation is applied prior to the transform, even if .I \-c @@ -133,7 +148,37 @@ robjutil +g cat +g bell kitty.obj | obj2mesh -a kitty. To rotate the scene 90 degrees about the Y-axis and scale by 10: .IP "" .2i robjutil -x "-ry 90 -s 10" orig.obj > transformed.obj +.SH NOTES +The .OBJ output of +.I robjutil +uses relative indices, so files it produces may be concatenated +on the input of other tools such as +.I obj2rad +and +.I obj2mesh +by piping from +.I cat(1) +or similar. +This offers a convenient way to separate geometry from a single .OBJ +input, manipulate it in some way, then recombine during conversion. +.PP +Unlike +.I obj2rad +and +.I obj2mesh, +.I robjutil +with the +.I +r +option will not substitute the group name for a material id if no +.I usemtl +statements are found on the input. +Instead, it will assign each surface the material +.I DEFAULT_MATERIAL. +Since it is possible to use the +.I +/-g +option to select groups to include or exclude on output, it is +still possible to assign materials by group manually. .SH AUTHOR Greg Ward .SH "SEE ALSO" -obj2mesh(1), obj2rad(1) oconv(1), xform(1) +cat(1), obj2mesh(1), obj2rad(1) oconv(1), xform(1)