Re: distortion (domes, etc)

New Message Reply Date view Thread view Subject view Author view

Rémi Arnaud (remi++at++remi.asd.sgi.com)
Wed, 19 Feb 1997 15:39:32 -0800 (PST)


Glenn Waldron wrote:
>
> Ken Harris wrote:
> >
> > We're trying to model distortion. For our application, we're just
> > trying to replace the projection function with a non-linear projection
> > function, but I seem to recall that performer can handle domes.
> [ ... ]
> > 3. Render to pbuffer, then texture map that to a (NURBS) surface.
> > I don't know if this can be done fast enough. Also there are
> > size (we need NTSC video output) and sampling (can I do bilinear interp
> > on the fly) problems.
>
> As for sampling, when you render to say the fbuffer, and then use
> glCopyTexImage2D to copy into texture memory, only mipmap level 0
> is supported on RE/RE2 (anyone know about iR?). So you'd have to
> use something like gluBuild2DMipmaps, but this is slow because it calls
> glTexImage2D for each mipmap level it generates.

 You do not need (and should avoid) to generate mipmaps to have a
 good bilinear interpolation for texture filtering.

 Approximate the distortion with more than one pfChannel if needed
 to have a maximum of 2x2 pixels on the pfChannel that will
 be wrapped to a 1 pixel after the non-linear transformation.
 Having more thant a 2x2 mapped to 1 pixel would require MipMapping, but
 also shows a waste in pixel fill.

 A Frame Buffer to Texture Memory can be used for a 60 Hz distortion
 correction on IR, as demonstrated at ITSEC. (See article in Real Time Graphics)

>
> You can still get pretty good performance if you map to a geometric
> approx. of a sphere (if you don't mind the approximation). Check out
> ftp://ftp.coryphaeus.com/pub/tmp/distcorr.tar.gz for some example code
> (requires Coryphaeus EasyScene to run. The math may not be right but
> it demonstrates the technique).
>
> Glenn.
>
> ------------------------------------------------------------------------
> Glenn Waldron - ANSER Leading Edge Technologies phone/PCS: 703.598.7835
> email: gwaldron++at++peril.com voice mail: 703.416.8462
> =======================================================================
> List Archives, FAQ, FTP: http://www.sgi.com/Technology/Performer/
> Submissions: info-performer++at++sgi.com
> Admin. requests: info-performer-request++at++sgi.com
>

    _ / _ _
|_) _ ._ _ o /\ |_)|\ | /\ | || \
| \(/_| | || /--\| \| \|/--\|_||_/
                                           
=======================================================================
List Archives, FAQ, FTP: http://www.sgi.com/Technology/Performer/
            Submissions: info-performer++at++sgi.com
        Admin. requests: info-performer-request++at++sgi.com


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:54:40 PDT

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