Re: Performer is rotating my axis!!

New Message Reply Date view Thread view Subject view Author view

Andrew Vincent (amv++at++sgi.com)
Sat, 27 Nov 1999 13:49:32 +1100


Hello Daniel,

Without expressing an opinion on axis
orientation preferences, the rot/trans/scale
pseudo-loader capability may be of assistance.

[The next logical question is: What is the rot/trans/scale
operator sequence required to achieve a given axis basis
permutation?-]

See:

http://techpubs.sgi.com:80/library/tpl/cgi-bin/getdoc.cgi?coll=0650&db=bks&fname=/SGI_Developer/Perf_PG/8454&srch=pseudo%20loaders

Quoting here:

Database Operators with Pseudo Loaders

The IRIS Performer dynamic database loading mechanism provides additional DSOs that operate
on the resulting scene graph from a file or set of files after the file(s) are loaded.
This mechanism, called "pseudo loaders," enables the desired-operator DSO to be specified
as additional suffixes to the file name. The DSO matching the last suffix is loaded
first and provided the entire filename. That pseudo loader then can parse the arbitrary
filename and invoke the next operator or loader and then operate on the results.
This process allows additional arguments to be buried in the specified
filename for the pseudo loader to detect and parse.

One set of pseudo loaders included with IRIS Performer are the rot, trans, and scale
loaders. These loaders take hpr and xyz arguments in addition to their Filename
and can be invoked from any program using pfdLoadFile(), for example:

% perfly cow.obj.-90,90,0.rot

-90, 90, and 0 are the h, p, and r values, respectively.

If you are using a shell with argument expansion, such as csh, you can create
interesting cow art. Try out the following
example:

% perfly cow.obj.{0,1},0,0.trans cow.obj.{0,1,2,3,4},0,-5.trans

Specifying a base filename is only needed if the specified pseudo loader expects
a file to operate on. Loaders can generate their scene graphics procedurally
based on simple parameters specified
in the command string.

The pseudo loaders in the IRIS Performer distribution are described in Table 7-10.

 Table 7-10 : IRIS Performer Pseudo Loaders
  Pseudo Loaders Description
  libpfrot Add pfSCS at root to rotate scene graph by specified <h>,<p>,<r>
  libpftrans Add pfSCS at root to translate scene graph by specified <x>,<y>,<z>
  libpfscale Add pfSCS at root to sale scene graph by specified <x>,<y>,<z>
  libpfclosest Adds run-time app callback to highlight closest point each frame
  libpfcliptile Adds callback to compute for the specified <tilename>,<minS>,<minT>,<maxS>,<maxT>
                   the proper virtual cliptexture viewing parameters.
  libpfsphere Generates a sphere database with morphing LOD starting from an n-gon for specified <n>,
                   power of 2.
  libpfvct

Daniel F Johnston wrote:
>
> Hi group!
>
> This is a longish message, but unless you are standing here looking at
> the graphics, then it
> takes a lot of words to describe the problem.

>It appears to us
> that the axis of the geometry has been moved/rotated by simply reading
> it into Performer.

-- 
Andrew Vincent       +61 2 6270 8702        amv++at++sgi.com 
26 Brisbane Ave Barton, Canberra  A.C.T. 2600 Australia
S35°13.701, E149°02.264 WGS84

New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Fri Nov 26 1999 - 18:45:07 PST

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.