This page describes how to perform scans with the Cyberware Portrait Scanner (model 3030 PS).
/usr/graphics/project/cyberheads
At the moment, I have subdirectories organized by geographical regions on this floor of the building, "gates3a" and "gates3b". We also have a subdirectory called "friends" for people who do not fit into an obvious category. You should choose one of these subdirectories and make a another subdirectory for your subject. For example, when scanning Eric Veach, I made a directory:
/usr/graphics/project/cyberheads/gates3b/veach
When scanning my girlfriend (Jelena), I made a subdirectory:
/usr/graphics/project/cyberheads/friends/curless/jelena
"The scanner box will circle around you, and the laser sheet will cross your face. The laser is low intensity and will sweep past you quickly, so it will not harm your eyes. You may (and ought to) blink up until the moment the box comes into your peripheral vision (on your left). Then, keep your eyes open without blinking until the laser passes to your right. The box will tend to draw your eyes to the right as it passes. Do your best to stare straight ahead; tracking your eyes to the left, if possible."
3030RGB/PS #102> im
The scan takes about 20 seconds. When the scanning arm stops its clockwise progress, the scan is finished.
3030RGB/PS #102> save <name>
This generates two files: a Cyberware geometry file ("name") and an IRIS image file ("name.color"). The image file is the textrue map of your subject's head. Later processing steps will generate a version of this file rotated by 90 degrees. An example of this appears at the beginning of this document.
If you have access to a Reality Engine, go to this machine, and change to the directory where you saved the data. Start echo and load the data:
3030RGB/PS #102> fetch <name>
3030RGB/PS #102> fill -i
3030RGB/PS #102> di
This launches a viewer that is a bit cumbersome to use, but provides needed functionality. I leave it to you to figure out how it works. Use the right mouse button for pull-down menus. The left window is a wireframe view, and the right window is a full rendering.
3030RGB/PS #102> toupee <latitude>
This will fit a parabola to the top of the model's head. The latitude must be a number less than 512. If the toupee needs tp be higher, then you must reaise the scanner box and rescan your subject.
If the head is too pointy or flat, you need to choose a different latitude for the toupee program. You will have to reload the model and try again:
3030RGB/PS #102> clear 3030RGB/PS #102> fetch <name> 3030RGB/PS #102> fill -i 3030RGB/PS #102> toupee <latitude> 3030RGB/PS #102> di
3030RGB/PS #102> save <edited-model-name>
3030RGB/PS #102> quit
Viewing the model
We currently have two viewers that read Cyberware files: plyview
and
gedecimate . Plyview is a simple multi-resolution viewer I wrote
for looking at large triangle mesh datasets. Gedecimate is a mesh
decimation program written by William Schroeder and Bill Lorensen .
To start plyview, type "plyview" (or "/usr/graphics/bin/plyview").
To load the model, type (at the prompt):
plyview> readcyb <edited-model-name> -head
Be sure to load the file you created after editing the original data.
In the process of loading the file, plyview will create an image,
"
For more on interacting with plyview, check out the web page .
To load in a model with gedecimate, you first need to source a
configuration file for the Lymb
system:
Then type "gedecimate" or "/usr/graphics/bin/gedecimate".
You can load the model in the obvious way with the pull-menus. It
will immediately start decimating unless you tell it not to
beforehand. See the
web page on gedecimate for more details.
The first argument refers to the name of the mesh inside of plyview.
This name is the same as the name of the Cyberware file you loaded in.
The second argument is the name of the ply file that will be
generated. In addition to <name.ply>, plyview will generate
<name_res2.ply>, <name_res3.ply>, and <name_res4.ply>. These
extra files are progressively lower resolution versions of the highest
resolution file.
You can convert Cyberware files to Inventor format with the "cytoiv"
command. Type "cytoiv" or "/usr/graphics/bin/cytoiv" to get a short
description of how to use this utility. For scans of heads, you'll
want to set the option "-maxlen 100" to ensure that all possible
triangles are created. If you want to use the texture map, you'll
need to provide the "-tex <name.rgb>" option. Note that this
texture file must be the same one created when you first use plyview
on a Cyberware file.
Through gedecimate, you can save to more formats. I'm not certain how
many of these formats include textures - you would have to ask Bill
about that.
shell> source /usr/graphics/bin/lymb_setup
Converting to other formats
You can get a Cyberware file into ply format by viewing it with
plyview and then saving it with the command:
writeply <name> <name.ply>
Creating an MPEG sequence
One fairly straightforward way to create an MPEG sequence is to render
and store a series of frames within plyview, and then convert the
frames to an MPEG file. Click here for more details.