makeProxy(1pf) OpenGL Performer 3.2.2 Reference Pages makeProxy(1pf)NAMEmakeProxy - Interactive OpenGL Performer tool for generating a proxy - a
simplification of a complex object that contains the original object.
SYNOPSISmakeProxy [ perfly options ] infile outfile [ options ]
DESCRIPTION
Program makeProxy is an interactive tool that is used to create a proxy
of an object. The proxy is a simplified version of the object and it has
a property that the original object is fully inside the proxy. This
property is important because the proxy is used in image based rendering
where the images of a complex objects from various directions are
projected onto the proxy. This way it is possible to render a very
complex object using a simplified version (a proxy) and store the surface
detail, including the associated lighting, in multiple textures. See the
man page for makeProxyImages to get more information about the process of
making the textures that are projected on the proxy.
The program is based on perfly and it shares all its command line
parameters and key commands (see man page for perfly). When executing the
program makeProxy you can specify the perfly-like command line parameters
first, then you enter the file name of the object you want to simplify
and the output file name for the object's proxy. Optionally you can add
additional command line parameters specific to the simplification
algorithm. You can get the list of those parameters by running makeProxy
with no option or option -h.
When you start the program makeProxy the menu is similar to the one of
perfly. There is an additional pane of buttons and sliders, called proxy
pane, that can be enabled and disabled using the Proxy pane button. The
algorithm for computing the proxy has two steps. First, an isosurface at
certain distance from the object is created (button Run marching cubes).
Second, the isosurface is moved to a desired distance from the surface
and simplified as long as it does not intersect the original surface and
its triangles are not too far from the original surface (button Run
simplify). If you press the button Run simplify without running the
marching cubes algorithm first it will be ran automatically. After
completing the computation the proxy is saved in the file specified on
the command line.
The marching cubes algorithm has the following controls. In the menu it
is possible to set the grid size at each axis and the distance of the
isosurface from the object. The distance is specified as a percentage of
the object diameter (more precisely, the diameter of the object's
bounding sphere). The finer the grid the longer the algorithm takes and
the more complex the initial proxy is. On the other hand, too coarse grid
may result in many details being missed. In general, the algorithm does
not work very well if the desired isosurface distance is too small
compared to the size of a grid voxel.
Page 1
makeProxy(1pf) OpenGL Performer 3.2.2 Reference Pages makeProxy(1pf)
The simplification algorithm starts by creating the boundary that the
proxy cannot cross by moving the isosurface to a predefined maximum
distance (slider Maximum distance). Then it creates the initial proxy by
moving the isosurface to a predefined initial distance (slider Initial
distance). The initial proxy is simplified by removing vertices as long
as the surface is within the boundaries defined by the object and the
isosurface moved to the maximum distance. Afterwards, the algorithm
collapses selected edges while keeping the surface within the boundaries.
At the end the vertices of the proxy are moved as close to the original
object as possible and the resulting proxy is stored in a file.
The simplification algorithm can be stopped or paused using Stop simplify
or Pause button, respectively. When the algorithm is paused it is
possible to output the current proxy by pressing the Save mesh button.
The file name contains index of the current step so that several meshes
can be output during the simplification.
SEE ALSO
performer, pfIBRtexture, pfIBRnode, makeProxyImages
Page 2