[net.sources] Documentation for FC's graphics package enclosed

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'