Re: distortion (domes, etc)
Angus Dorbie (dorbie++at++bitch.reading.sgi.com)
Wed, 19 Feb 1997 12:15:32 +0000
On Feb 18, 4:47pm, Ken Harris wrote:
> Subject: distortion (domes, etc)
>
> 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.
>
> I can think of three way to do this:
>
> 1. Pre-distort the data: run the data forward thru a general projection
> function, then backward through a linear "perspective" function, then
> send this data down into the hardware. A little ugly, but gets the
> job done.
>
> 2. Write special "projection" function : This would be the cleanest
> solution, but doesn't take advantage of the "geometry engine" hardware.
> Also, I don't think Performer would allow this: basically I want to do
> my own modeling and projection and then just send homogeneous
> coordinates to the hardware.
>
> 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.
>
>
>-- End of excerpt from Ken Harris
These are all great ideas, 1 & 2 might work if you descretised the
scene geometry, but method 3 is basically how we do this, both for domes
and non-linear projection situations like yours. An iR can handle medium
resolution distortion correction at 60 Hz with reduced scene content.
You don't actually need to render to a pbuffer either, you can render to
the backbuffer. You can do bilinear on the fly and this works very well
in conjunction with multisample anti-aliasing while drawing the scene.
Cheers,
Angus.
=======================================================================
List Archives, FAQ, FTP: http://www.sgi.com/Technology/Performer/
Submissions: info-performer++at++sgi.com
Admin. requests: info-performer-request++at++sgi.com
This archive was generated by hypermail 2.0b2
on Mon Aug 10 1998 - 17:54:40 PDT