ken@turtleva.UUCP (Ken Turkowski) (12/16/83)
echo You have this entire package if you get a message after unpacking. echo x - man mkdir man echo x - man/hsalgs.treedoc sed 's/^x//' >man/hsalgs.treedoc <<'!Funky!Stuff!' x.: xdata drivers hsalgs x x./data: xcode - programs for modifying objects, defining textures, etc. xdg - machine-generated shapes xglassware - files for the champagne glass xhand_built - laboriously hand-edited shapes xterrains - tilings of the plane xutah - shapes from early Utah days (<1975) xxport_data.scn kln_champ.scn banana.scn - files describing arrangements xof objects x x./data/code: xbb_to_txtr.c - make a texture file from pixels in the frame buffer xbin_tags.c - put "magic number" headers at the beginning of binary files xcircle_eye.c - generate a script to move the eyepoint in a circular path xcolor_bin.c - translate an ASCII color file to binary xmake_bin.c - translate an ASCII shape file to binary xmake_obj.c - generate a properly formated ".obj" file by prompting the user xmake_texture.c - generate some algorithmicallly-defined textures xmakefile xmk_txcoords.c - generate a texture coordinate file covering a regular polygon mesh xmove_eye.c - generate a script moving the eyepoint along a periodic function xrescale_bin.c - scale a shape by changing the values in its ".det" file xtxtr_bin.c - translate a texture file to binary form x x./data/dg: xtube.obj tube.std - cylindrical shape xtubend.obj tubend.std - conical shape x x./data/glassware: xchampagngl.com - command file for generating texture coordinates (input to mk_txcoords.c) xchampagngl.obj - top-level description of champagne glass xchampagngl.std - shape (points and polygons) of champagne Glass x x./data/hand_built: xicosa.obj - top-level description of icosahedron xicosa.tx_std - texture cordinates for icosahedron xicosa_pcl.obj - top-level description of icosahedron with polygon colors xicosa_pcl.std - icosahedron polygon colors xicosa_vcl.obj - top-level description of icosahedron with vertex colors xicosa_vcl.scn - script for image using icosahedron vertex colors xicosa_vcl.std - icosahedron vertex colors xsquare.obj - top-level description of square xsquare.scn - script for image using square xsquare.tx_std - shape for squre with texture coordinates xtrunc_pyr.obj - top-level description of truncated pyramid xtrunc_pyr.std - shape file for truncated pyramid xtrunc_pyr.tx_s - texture coordinates for truncated pyramid x x./data/terrains: xchkrbd.obj chkrbd.std - files describing checkerboard pattern of polygons x x./data/utah: xbanana.obj banana.std - the banana xegg.obj egg.std - the egg x x./drivers: xbb.h bb_util.c fbutil.c x x./hsalgs: xMakefile xbbackfill.c - fill pixels not completely covered by closer surfaces with background color xbbox_task.c - generate bounding boxes of objects and send them to display xerror.c - Display error messages xftb_pxls.c - calculate blended pixel values from coverage, old value, etc. xftb_zsort.c - depth-sort and display polygonal objects (handles texture) xhiq_pxls.c - fancier pixel value calculator (subsamples small highlights, etc.) xhiq_tiler.c - fancier tiler (subsamples small highlights, etc.) xjag_tiler.c - tiler without antialiasing xobj_sort.c - sorts objects to determine display order xpoly_drawl.c - generates line-drawings from polygons xpoly_zsort.c - depth-sort and display polygonal objects xptiler.c - simple tiler for pseudo-color displays xregurgitate.c - print back output from scn-assmblr rather than starting display xrgbtiler.c - simple full-color tiler xscn_assmblr.c - front-end for display system, script parser, etc. xscn_assmblr.h - header file shared by system modules xshiny_tlr.c - tiler for full-color, anti-aliasing and highlights xtask_master.c - calls display algorithm for each object or cluster in depth order xtiler.c - tiler (?) xu_tiler.c - "universal" tiler (interpolates over an arbitrary number of supplied parameters) xupdate_obj.c - changes a ".obj" file as indicated by input to scn_assmblr x x !Funky!Stuff! echo x - man/bb_to_txtr.1l sed 's/^x//' >man/bb_to_txtr.1l <<'!Funky!Stuff!' x.TH BB_TO_TXTR 1L local x.SH NAME xbb_to_txtr - make a texture image file from a section of the big buffer x.SH SYNOPSIS xbb_to_txtr [filename] x.SH DESCRIPTION xTakes an output file name (prompted for if not in the command line) and xwrites a texture image file in it. Texture images consist of 128 by 128 xpixels each represented by 5 shorts. The 5 parameters represented are xred, green, blue, transmittance and shininess, all ranging from 0-255. x.sp xA 128 by 128 section of the big buffer is read to produce the file. At xthis writing the most significant byte (coverage) is used for xtransmittance xand the shininess parameter is ignored. The portion of the big buffer xread is taken centered on the current view. xWhen the buffer is zoomed by a factor of 4, you see about 160 by 121 xpixels. xThus what you see is 16 pixels wider on left and right and about 4 xpixels xnarrower on top and bottom than what you get for a texture pattern. x.SH SOURCE x/usr/src/local/pic_utils/bb/bb_to_txtr.c x.SH SEE ALSO xbbzoom(1L), xmk_txcoords(1L), xworld(1L), xfb_to_txtr(1Paul) x.SH AUTHOR xF. C. Crow !Funky!Stuff! echo x - man/bbackfill.1l sed 's/^x//' >man/bbackfill.1l <<'!Funky!Stuff!' x.TH BBACKFILL 1L Local x.SH NAME xbbackfill - fill in partly covered pixels with background x.SH SYNOPSIS xbbackfill [redbyte grnbyte blubyte [Xres Xofset Yres Yofset]] x.SH DESCRIPTION x.nf xWARNING! THIS PROGRAM IS OUT OF DATE! xPLEASE USE BGSHOW INSTEAD! x.fi x.br x.sp xUsing the most significant byte to indicate how much of the pixel has xbeen covered by closer surfaces, bbackfill will add the input color xin sufficient amount to adjust for the partial coverage. xThe arguments [redbyte grnbyte blubyte] indicate what color the xbackground xshould be, where the three arguments may have the range 0.0-1.0 or x0-255. xThe default background is 0 0 0. The entire screen will be backfilled xunless xthe arguments [Xres Xofset Yres Yofset] are given. In that case, the xbackfilled xarea is Xres pixels wide, Yres pixels deep and is bounded by Xofset on xthe xleft and Yofset on the bottom. xBbackfill is used as the xlast stage in an anti-aliasing front-to-back hidden-surface algorithm. x.SH FILES x/dev/bb x.br x.sp xlibraries: x.ta xlbb, lm x.SH SEE ALSO xbb*(1L), bb(3L) x.SH AUTHOR xF. C. Crow !Funky!Stuff! echo x - man/bin_tags.1l sed 's/^x//' >man/bin_tags.1l <<'!Funky!Stuff!' x.TH BIN_TAGS 1L local x.SH NAME xbin_tags - add magic number tags to binary files x.SH SYNOPSIS xbin_tags [filename] x.SH DESCRIPTION xAdds 4-byte binary code word to beginning of file to make file xidentifiable xas to format. Bin_tags assumes that the filename uses one of the xstandard xextensions. Non-standard extensions should be fixed by renaming the xfile. xThe user will be prompted for a file name if in is left out of the xcommand line. xThe first 4 bytes of the file are printed before modifying the file to xprevent xinadvertantly adding double tags to a file. x.SH AUTHOR xFrank Crow x.SH DIAGNOSTICS xNon-standard extensions are rejected. xThe original file is saved as filename.bak in case anything goes wrong x.SH STATUS xA temporary fix to be expunged from the system in the near future !Funky!Stuff! echo x - man/ftb_zsort.1l sed 's/^x//' >man/ftb_zsort.1l <<'!Funky!Stuff!' x.TH FTB_ZSORT(1L) local x.SH NAME xftb_zsort - depth sorted polygon display algorithm with texture mapping x.SH SYNOPSIS xftb_zsort x.SH DESCRIPTION xTakes input of the form specified in "man hsalg-input" and produces xfull-color images of polygon objects on the 32-bit frame buffer only. xWill xload proper pan and zoom coefficients for animations in big buffer. x xImages are anti-aliased and may use highlights xand transparency with up to 16 light sources of arbitrary colors. xTexture xmay be painted on surfaces for which a texture coordinate file exists. x(See xman mk_txcoords). x xPolygon objects must be non-intersecting and made of polygons which are xall xof roughly the same size, in general. Priority is determined merely on xthe xz-coordinate of the closest vertex (in eye space). x.SH SOURCE x~frank/hsalgs/c_code/[ftb_zsort.c u_tiler.c ftb_pxls.c] x.SH SEE ALSO xscn_assmblr(1L) poly_zsort(1L) mk_txcoords(1L) bb_to_txtr(1L) x.SH AUTHOR xF. C. Crow !Funky!Stuff! echo x - man/hsalg_input.5l sed 's/^x//' >man/hsalg_input.5l <<'!Funky!Stuff!' x.TH HSALG_INPUT 5L local x.SH NAME xhsalg_input - standard display algorithm input format x.SH DESCRIPTION xThe following keywords are used to specify input to hidden-surface and xother xdisplay algorithms. All keywords are optional, although pictures xwithout some xof these, for example "object" would be pointless. A number of keywords xare xapplicable only to polygon objects for historical reasons. We hope that xother xsurface-specific keywords won't be necessary. Non-applicable keywords xare xignored. x.TP xdevice <device> <frame #> xSpecify display device, quadrant, etc.; xframe # for sequences ( see scene(5L) ) x.TP xlight x y z r g b radius xPosition, color and radius covered by xlight (one entry for each light source). xThe radius is used for square-law attenuation. x.TP xview_angle float xAngle included in the field of view (default = 45.). x.TP xobject filename xObject description file (".obj" file) x(remaining attributes always apply to most recent object). x.TP xno_clipping xNo clipping needed (default clips). x.TP xtransform xEyespace transform for object (4 rows of 4 floats). xThe matrix goes from (longitude latitude altitude) xto eyespace (left-handed 3rd coordinate is depth). x.TP xtransmittance float1 float2 xThe transmittance keyword identifies the line that gives xthe transmittance and the rolloff power for the object. xThe transmittance may vary from 0.0 (opaque) to 1.0 x(perfectly transparent). xThe rolloff power may vary from (1.0 to 3.0) and controls xthe opacity of the object as the cosine of the surface xnormal changes. x.TP xshininess float xThe shininess keyword identifies the line containing the xhighlight exponent necessary for Phong shading. The xhighlight exponent usually varies from 100.0 to 500.0. x.PP xThe keywords may appear in any order. Keywords which affect an object xalways xrefer to the last one specified. x.SH SEE ALSO xshape_data(5L) scene(5L) x.SH AUTHOR xF. C. Crow !Funky!Stuff! echo x - man/hueload.1l sed 's/^x//' >man/hueload.1l <<'!Funky!Stuff!' x.TH HUELOAD 1L local x.SH NAME xhueload,vhueload \- load gamma compensated ramps into a frame buffer x.SH SYNOPSIS xhueload x.br xvhueload x.SH DESCRIPTION xUsed by x.I scn_assmblr xto load a frame buffer's color map for display output from x.I poly_zsort, x.I ftb_zsort, xetc. x.PP xThe first line of input has the format: x x.ce xdevice quadrant divisions frame# x x.IP device xis the name of the frame buffer. x.IP quadrant xis which quadrant to display on. x.IP divisions xis ignored. x.IP frame# xis ignored. x.PP xThe following lines all have the format: x x.ce xred_factor green_factor blue_factor x xThese factors are as usual. x.PP xThe first color given is the background color. xIt will occupy only one position of the color map. xThe remaining colors are allocated equal parts of the rest of the color xmap. xThe ramps will be loaded in the order that the colors were named. x.SH EXAMPLES xaed 8 # use aed x.br x0.2 0.3 0.6 # background kinda bluish x.br x1 1 1 # grey ramp x.br x1 1 0 # followed by a yellow ramp x.SH FILES x/dev/aed0 x.br x/dev/bb0 x.br x/dev/fb0 x.br x/fr/$user/vbb (vhueload) x.SH SOURCE x~local/scn/little/hueload.c x.SH SEE ALSO xcmap(1L), scenes(1L) x.SH AUTHOR xFranklin C. Crow x.br xMaintained by Julian Gomez x.br xVirtual buffer by Julian Gomez !Funky!Stuff! echo x - man/make_bin.1l sed 's/^x//' >man/make_bin.1l <<'!Funky!Stuff!' x.TH MAKE_BIN 1L local x.SH NAME x.nf xmake_bin - convert ASCII object description files to binary form xcolor_bin - convert ASCII polygon color or vertex color files to binary xtxc_bin - convert ASCII texture coordinate files to binary x.fi x.SH SYNOPSIS x.nf xmake_bin <inputfile >outputfile xcolor_bin <inputfile >outputfile xtxc_bin <inputfile >outputfile x.fi x.SH DESCRIPTION x.I Make_bin xsearches for the "data" keyword in a ASCII standard object description xfile (see "man shape_data") and converts it to a binary shape file. x.PP x.I Color_bin xtakes a file in a format similar to the ASCII standard object xdescription. However, only one number is read after the "data" keyword xand xeach line thereafter is expected to contain 4 numbers, a value for red, xgreen xblue and transmittance respectively. All color values range from 0.-1. x.PP x.I Txtr_bin xreads a file in a manner similar to x.I color_bin. xHowever, each line xrepresents the texture coordinates at the vertices of a polygon or xpatch. xTherefore the first number on the line represents the number of xvertices. xSucceeeding numbers are X-Y coordinate pairs representing the texture xcoordinates for each vertex in turn. x.SH EXAMPLES x.nf xTypical input files for the above: x xtitle shape data file for a square xdata 4 1 x 0. 0. 0. x 0. 1. 0. x 1. 1. 0. x 1. 0. 0. x 4 1 2 3 4 x xtitle vertex color file for a square xdata 4 x .9 .8 .2 .0 x .8 .9 .2 .0 x .2 .8 .9 .0 x .9 .2 .8 .0 x xtitle polygon color file for a square xdata 1 x .9 .8 .2 .0 x xtitle texture coordinate file for a square xdata 1 x 4 0. 0. 1. 0. 0. 1. 1. 1. x.fi x.SH SEE ALSO xmk_txcoords(1L), shape_data(5L), dumpdet(1L), dumpnbr(1L), dumppcl(1L), xdumptxc(1L), dumpvcl(1L) x.SH AUTHOR xF. C. Crow x.SH BUGS xColor_bin always tags file as a .pcl file. !Funky!Stuff! echo x - man/make_obj.1l sed 's/^x//' >man/make_obj.1l <<'!Funky!Stuff!' x.TH MAKE_OBJ 1L local x.SH NAME xmake_obj - generate .obj file x.SH SYNOPSIS xmake_obj x.SH DESCRIPTION xPrompts user for a file name, title, display program name, and xbinary detail file name. Then produces properly formatted file xas described by x.IR shape_data (5L). x.PP xAppends x.B .obj xor x.B .det xwhenever necessary. x.SH EXAMPLES x.nf x% make_obj xobject file name: icosa xtitle: Icosahedron made by Frank xdisplay routine (default poly_zsort): xdetail file (default is icosa.det): x% make_obj xobject file name: mushroom xtitle: reality away ! xdisplay routine (default poly_zsort): ftb_zsort xdetail file (default is mushroom.det): ~julian/g/d/mushroom x% x.fi x.SH SEE ALSO xshape_data(5L) x.SH AUTHOR xJulian E. Gomez x.br xOriginal program by F. C. Crow !Funky!Stuff! echo x - man/mk_txcoords.1l sed 's/^x//' >man/mk_txcoords.1l <<'!Funky!Stuff!' x.TH MK_TXCOORDS 1L local x.SH NAME xmk_txcoords - make texture coordinates for an object x.SH SYNOPSIS xmk_txcoords filename stripsize numstrips x1 y1 x2 y2 x3 y3 x4 y4 x.SH DESCRIPTION xProduces a texture coordinate file defining the mapping of a square ximagemake_obj.l mk_txcoords.l xof texture onto a polygonal mesh of quadrilaterals. The polygonal mesh xmust be organized as a matrix with "numstrips" columns of polygons each xof which xcontains "stripsize" polygons. x.br x.nf xHint: for objects created as a solid of revolution x stripsize == number of points on a profile - 1 x numstrips == number of points on the path - 1^[ x.fi xFour coordinate pairs must be supplied. The xfirst (x1,y1) defines what part of the texture file is mapped to the xbeginning xof the first strip of polygons. The second (x2,y2) shows the mapping xfrom xthe texture image to the end of the first strip of polygons. The third xand xfourth coordinate pairs go to the beginning and end of the last strip of xpolygons. x.SH EXAMPLES xmk_txcoords object.txc 15 20 0. 0. 1. 0. 0. 1. 1. 1. x xThe above would map one instance of the texture image over the entire xobject xwhich might be a surface of revolution defined by a path of 21 points xused x15 times in a revolution. x xmk_txcoords object.txc 15 20 0. 0. 4. 0. 0. 10. 4. 10. x xThe above would repeat the texture pattern 40 times over the surface, 4 xtimes xaround and 10 times from top to bottom. x xmk_txcoords object.txc 15 20 0. 0. 4. 1.5 1.5 10. 5.5 11.5 x xThe above would skew the mapping onto the surface so that it would xappear xto swirl around the surface rather than being pasted on. x.SH FILES xlibraries: x.ta xlm x.SH SEE ALSO xtxc_bin(1L), bb_to_txtr(1L), shape_data(5L) x.SH AUTHOR xF. C. Crow x.SH STATUS xworking but subject to frequent upgrades !Funky!Stuff! echo x - man/poly_drawl.1l sed 's/^x//' >man/poly_drawl.1l <<'!Funky!Stuff!' x.TH POLY_DRAWL 1L local x.SH NAME xpoly_drawl - draw polygonal objects on line-drawing devices x.SH SYNOPSIS xpoly_drawl x.SH DESCRIPTION xUsed by scn_assmblr to display polygonal objects on line-drawing xdevices. xTakes input in the form specified by "man hsalg_input". x.SH EXAMPLES x.nf xpoly_drawl x xdevice meg x xobject icosahedron.det x xtransform x 1 0 0 0 x 0 1 0 0 x 0 0 6 0 x 0 0 0 1 x.fi x.SH FILES x/usr/local/poly_drawl /usr/local/[crtdrawl megdrawl vtdrawl h19drawl] x.SH SEE ALSO xhsalg_input(5L), scn_assmblr(1L) x.SH AUTHOR xF. C. Crow !Funky!Stuff! echo x - man/poly_zsort.1l sed 's/^x//' >man/poly_zsort.1l <<'!Funky!Stuff!' x.TH POLY_ZSORT 1L local x.SH NAME xpoly_zsort, vpoly_zsort - depth sorted polygon display algorithm x.SH SYNOPSIS xpoly_zsort x.br xvpoly_zsort x.SH DESCRIPTION xTakes input of the form specified in "man hsalg-input" and produces ximages of polygon objects on the frame buffers. xCan produce smooth-shaded pseudo-color images xon the smaller frame buffers. xWill load proper pan and zoom coefficients for animations in big buffer. x.PP xFull-color images on the big buffer can be anti-aliased and may use xhighlights xand transparency with up to 16 light sources of arbitrary colors. x.PP x.I vpoly_zsort xdraws virtual big buffer images x.PP xPolygon objects must be non-intersecting and made of polygons which are xall xof roughly the same size, in general. Priority is determined merely on xthe xZ-coordinate of the closest vertex (in eye space). x.SH FILES x/dev/aed x.bb x/dev/bb x.bb x/dev/fb? x.bb x/fr/$user/vbb.bbl x.SH SOURCE x~local/scn/poly_zsort/ x.SH SEE ALSO xscn_assmblr(1L) x.SH AUTHOR xF. C. Crow x.br xVirtual buffer by Julian Gomez !Funky!Stuff! echo x - man/scenes.5l sed 's/^x//' >man/scenes.5l <<'!Funky!Stuff!' x.TH SCENES 5L local x.SH NAME xscenes - standard scene definition syntax x.SH DESCRIPTION xThe scene definition is intended for arranging objects in a scene, xestablishing lighting and viewing parameters, and controlling the xproduction of images on various graphic output devices. Object xattributes xsuch as texture, data type, xfaceting, etc. are defined elsewhere (see "man shape_data"). x.PP xDefault parameters are set up for looking at an object centered on the xorigin and about 2 units in diameter. Objects are a dull white by xdefault xand one white light source is defined. Fifteen additional light sources xcalled "light1" through "light15" are defined and may be turned on by x"placing" them. Default positions for predefined objects (eyepoint, xcenter xof interest) are shown below. x.PP xLights, the eyepoint, center_of_interest and other special xnames may be treated as objects in general. Thus lights may be painted xwith xa color, placed, and scaled to vary their strength at a distance. xAmbient xlight is a characteristic of each object (30% of maximum, by default). xAngle xincluded in the field of view is an explicit keyword input x(45 degrees, default). x.TP xDefaults x.sp xeyepoint 0 5 10 x.br xcenter_of_interest 0 0 0 x.br xlight 1000 500 -1000 x.br xbackground color .2 .3 .6 x.SH Keywords and format for scene description x.SH x x.SH User conveniences x.SH x x.TP xdump_to <filename> xdump current image description to x.I filename x.TP xshow <object> xshow active object descriptions x.TP x? xhelp message (list of commands) x.TP x!<shell command> xexecute shell command x.sp x.ti -5 x@<filename> x.br xtemporarily take input from named input stream x.TP x#<comment> xcomment line for explanations x.SH Image production commands x.SH x x.TP xdisplay_on <device> [<frame_number>] xgenerate image, quality determined by device (no background fill) x.TP xrender_on <device> [<frame_number>] xgenerate full-quality image or line drawing as appropriate x.TP xsketch_on <device> xgenerate image using just bounding boxes x.SH Object attributes and positioning x.SH x x.TP xattach <object> to <object> at <point> xset up object hierarchy x.TP xblend <object> to <object> by <fraction> xblend shapes x.TP xcall <filename> by <object> xread in object description and tag it with object name x(file used as image if <object> is "background" or "foreground") x.TP xdelete <object> xremove object from further use (deleting lite just turns it off) x.TP xdetach <object> xdetach object (and descendents) from hierarchy x.TP xpaint <object> with <color> [<gloss> [<transmittance> x [<rolloff power>]]] xassign color and surface attributes to object (modifies .obj file) x.TP xplace <object> [on <object>] at <point>] xposition object with optional support relationship x(placing a light turns it on) x.TP xreplace <object> xread in object description anew (for dynamically changing shapes) x.TP xrotate <object> about <axis> by <number> [then x about <axis> by <number>] x.br xrotation about arbitrary axis x(up to four may be concatenated by using "then") x.TP xset <global attribute> to <number> xsets various global attributes (see below) x.TP xscale <object> by <point> xscale object on its 3 axes (first axis is range for light) x.SH Metasymbols x.SH x x.TP x<axis> :== <point> <point> x.TP x<color> :== <fraction> <fraction> <fraction> x.TP x<global attribute> :== "view_angle" | "tilt_angle" | "ambient_light" x.TP x<gloss> :== <number> xranges 20-500, typical 200 (background gloss used as ambient light) x.TP x<rolloff power> :== <number> xranges .5-2.0 (power on transmittance function) x.TP x<transmittance> :== <fraction> x.TP x<device> :== "meg" | "vt" | "crt" | "h19" | x "fb" | "fb" <quadrant> | "aed" x "bb" | "bb" <bits> <screen_division> | x "file" <filename> | "dummy" x.br x<quadrant> :== "1" | "2" | "3" | "4" x.br x<bits> :== "1" | "2" | "4" | "8" | "16" | "32" x.br x<screen_division> :== "1" | "4" | "9" | "16" | "25" | x "36" | "49" | "64" x.TP x<filename> :== existing UNIX object description file xeither local or complete path name x.TP x<fraction> :== floating pt. number between 0.0 and 1.0 x.TP x<frame_number> :== integer x.TP x<number> :== floating pt. number x.TP x<object> :== "all" (where appropriate) | x "eyepoint" | "center_of_interest" | x "light" | "light1"-"light15" | x "background" | "foreground" | x.ti +8 xuser-defined string x.TP x<point> :== <number> <number> <number> x3-d coordinate triple (represent horizontal, vertical, and depth xrespectively) x.SH SEE ALSO xshape_data(5L), hsalg_input(5L) x.SH AUTHOR xF. C. Crow !Funky!Stuff! echo x - man/scn_assmblr.1l sed 's/^x//' >man/scn_assmblr.1l <<'!Funky!Stuff!' x.TH SCN_ASSMBLR 1L local x.SH NAME xscn_assmblr \- priority sorts objects for display x.SH SYNOPSIS xscn_assmblr [-c] x.SH DESCRIPTION xTakes input described by "man scenes". Sorts objects to priority order xbased on bounding box tests, etc. Objects must be defined as described xby x"man shape_data". x.PP xScan-converts objects in priority order xby starting display algorithms specified in the object descriptions and xpiping input in the format of "man hsalg_input" to them. x.IP -c xForces all visible objects in a scene to be in the same cluster. x.SH FILES xAll of the graphics devices x.SH SOURCE x~local/scn/big x.SH SEE ALSO xscenes(1L), poly_zsort(1L), ftb_zsort(1L) x.SH AUTHOR xF. C. Crow x x !Funky!Stuff! echo x - man/shape_data.5l sed 's/^x//' >man/shape_data.5l <<'!Funky!Stuff!' x.TH SHAPE_DATA 5L local x.SH NAME xshape_data - standard format for object descriptions x.SH DESCRIPTION xNaming conventions for data files: x.TP x*.det xFiles in standard binary format for polygonal shapes x.sp x - long code (4 byte ascii file extension) x - short #pts, #polys x - float pts[#pts][3] x - for each of #polys polygons: x short #pts/pol, ptrs[#pts/pol] x.TP x*.obj xFiles in the human-readable data structure. None of the xspecified keyword lines are mandatory although certain xprograms require the presence of particular keyword lines. x.TP xtitle xTitle for the data x.TP x# xRest of line is a comment x.TP xdetail *.det xFile containing binary point and polygon data. x.TP xdisplay filename xExecutable file which displays from detail file format x(e.g. poly_zsort, ftb_zsort, fbdisp) x.TP xdata <#points> <#polygons> xThe header for the ascii vertex and polygon data of an object. xThis header is followed by xthe X, Y and Z coordinates of each vertex, and then the polygons of xthe object. Each polygon entry has the format: <#points in polygon> x<point_indices>. x.TP xdata_info <number> vertices <number> polygons <number> patches xSize information on data for predicting display time. Fields will vary. x.TP xbounding_box Xmn Xmx Ymn Ymx Zmn Zmx xBounding box for object in definition space x.TP xvertex_colors *.vcl xFile containing colors for vertices of shape (see "man color_bin") x.sp x.TP xpoly_colors *.pcl xFile containing colors for polygons of shape (see "man color_bin") x.TP xtexture *.txc *.txtr xFile containing texture coordinates followed by file containing xtexture image x(see "man mk_txcoords" and "man bb_to_txtr") x.TP xpoly_neighbors *.nbr xFile containing neighboring polygon pointers x.TP xcentroid&radius x y z r xCentroid and radius of enclosing sphere x.TP xpoly_expansion filename xExecutable file that expands detail file to polygons x.TP xtype datatype characteristics xType of surface element and further useful info x(for "polygon", "open" and "faceted" are characteristics) x.TP xcolor r g b xOverall color of object. r, g, and b are real numbers in the xrange (0.0 - 1.0). x.TP xtransmittance float float xThe first number (transmittance) is the fraction of incident xlight passing through the surface. Therefore, 0 is opaque xand 1 is totally transparent (invisible). Typical values are xfrom .5 to .9 for transparent objects. The second value (rolloff) xgoverns how the transparency changes as the angle of the light xstriking the object changes. This makes the edges of a transparent xobject look less transparent. Typical values are in the range .1 to x1.5 with small numbers being more etherial (thinner) and large numbers xbeing thicker or milkier. x.TP xshininess float xThis parameter governs how large the highlights on an object will be. xTypical values are in the range 100 to 200. Values smaller than 100 xtend to make large (read as expensive computationally) highlights. xValues larger than 200 make small highlights. Very large values x( >> 300 ) may be subject to aliasing problems. x.sp x.TP x*.pcl xThis is the polygon color file. It is in binary with the following xformat. x.sp x - long code (4 byte ascii file extension) x - short #polys x - float colors[#polys][4] x.sp xThe colors are red, green, blue, and transparency. They range from xzero to one. x.TP x*.vcl xThis is the vertex color file. It is in binary with the following xformat. x.sp x - long code (4 byte ascii file extension) x - short #pts x - float colors[#pts][4] x.sp xThe colors are red, green, blue, and transparency. They range from xzero to one. x.TP x*.nbr xThis is the neighboring polygon file. It is in binary with xthe following format. x.sp x - long code (4 byte ascii file extension) x - short #polys x - for each of #polys polygons: x short #pts/pol, pointers[#pts/pol] x.sp xThe pointers are to the polygon which neighbors this polygon across xthe edge from this point to the next point. x.TP x*.txc xThis is the texture coordinate file. It is in binary with the xfollowing format. x.sp x - long code (4 byte ascii file extension) x - short #polys x - for each of #polys polygons: x short #pts/pol, float coords[2] x.sp xThe coords are the coordinates within the texture image (.txtr). The xtexture image has the coordinates of the unit square (0,0) (0,1) (1,1) x(1,0). If the texture coordinates are outside of the (0 - 1) range, xthen they are mapped as if the .txtr files are replicated side by side xand end to end throughout all infinity. x.SH EXAMPLES x.nf x.TP xcutcube.obj x xtitle Simple object - cube with one corner cut off xdisplay poly_zsort xdetail ~frank/data/hand_built/smpobj.det xtype polygon faceted xbounding_box -1 1 -1 1 -1 1 xdata 10 7 x 1.0 -1.0 -1.0 x -1.0 -1.0 -1.0 x -1.0 -1.0 0.0 x -0.0 -1.0 1.0 x 1.0 -1.0 1.0 x -1.0 -0.0 1.0 x -1.0 1.0 -1.0 x 1.0 1.0 -1.0 x 1.0 1.0 1.0 x -1.0 1.0 1.0 x 5 1 2 3 4 5 x 4 8 1 5 9 x 4 7 8 9 10 x 5 2 7 10 6 3 x 4 8 7 2 1 x 5 5 4 6 10 9 x 3 3 6 4 xcolor 1 0 1 xshininess 0.5 xtransmittance 0.5 0.5 xvertex_colors ~glenn/frctl/cube.vcl x.SH SEE ALSO xscenes(5L), hsalg_input(5L), make_bin(1L), mk_txcoords(1L), xbb_to_txtr(1L) x.SH AUTHOR xF. C. Crow !Funky!Stuff! echo x - man/tiler.1l sed 's/^x//' >man/tiler.1l <<'!Funky!Stuff!' x.TH TILER 1L local x.SH NAME xtiler - tiler which takes piped input x.SH SYNOPSIS xtiler x.SH DESCRIPTION xTiler offers polygon tiling capabilities without packaging in the xstandard xsubroutines. The input consists of a small set of keywords to identify xthe display xdevice, or specify a polygon. The "device" keyword specifies a device xas in x"man scenes". The "polygon" keyword should be accomapnied by a number xrepresenting xthe number of vertices in the polygon. Polygons are then specified by a xline xfor each vertex with values for X, Y and color (1 to 3 values). x x.SH EXAMPLES x.nf xFor a multicolored triangle on the big buffer: x x device bb 24 1 0 x polygon 3 x -.5 -.5 .8 .8 .8 x .5 -.5 .8 .0 .0 x .0 .5 .0 .0 .8 x xFor a triangle on the AED display: x x device aed x polygon 3 x -.5 -.5 100 x .5 -.5 200 x .0 .5 150 x x.SH AUTHOR xF. Crow x.SH STATUS xProbably won't change much !Funky!Stuff! echo '' echo 'hsalgs.treedoc and section 5 are worthwhile to read' echo 'Enjoy -- Ken Turkowski -- CADLINC -- decwrl!turtlevax!ken'