Re: HUD's and DVR - what works

New Message Reply Date view Thread view Subject view Author view

Sharon Clay (src++at++rose.asd.sgi.com)
Fri, 23 May 1997 00:53:07 -0700


+>---- On May 21, 9:37am, Angus MacDonald Dorbie wrote:
> Subject: Re: HUD's and DVR
->From guest++at++holodeck.csd.sgi.com Wed May 21 22:40:16 1997
->
->On May 21, 9:59am, Jeff Brickley wrote:
->> Subject: Re: HUD's and DVR
->>
->> > From: Angus MacDonald Dorbie
->> >
->> > You really have to live with the reduced resolution on the text due
->> > to DVR. The main problem which it sounds like you have solved is the
->> > resizing of the text.
->> At what point does the SGI do the DVR rendering?? I do my HUD in a
->> post-render routine with OpenGL bitmapped text, wouldn't that allow the text
->> to be the same? I've never tried DVR, so I don't know how it would affect
->> our system.....
->
->No, but nice thought. The DVR is performed by the Display Generator
->after the pixels have been transferred from the Raster Managers,
->nothing you draw (including overlay) can escape DVR in a channel.
->Only the mouse can escape the almighty DVR.

Sorry for the delayed response - I've been gone again for the past few days.

Anyway, I'd like to just add a little extra info and clarify some things:

1) For DVR you should use a texture or a stroke font so that it can be scaled
        by the viewport. All bitmaps and pixel ops will have the scale problem,
        X or not. For points and lines, Performer is taking car of
        the scale problem by automatically calling pfPixScale() which we
        check in the point and line gsets to properly scale these pixel-sized
        primitives. If you use a stroke font library that uses lines to draw your
        own fonts without Performer you'll have to do the same.

2) You can pick a few fixed bitmap sizes for an approximation and choose
        them based on the current viewport size or DVR scale.
            Note that you can get the current viewport size with
                    pfGetChanOutputViewport()
            and the DVR scale with pfGetPVChanScale()

        You might also want these routines if you need to properly place drawing in
        the smaller viewport.

3) X is ignorant of DVR (as pointed out already) and in particular the X cursor
        so as Philip also pointed out, Performer provides a 2D cursor drawn in the
        bitplanes in libpfutil.

4) As above, overlay planes are also resized by DVR and so can't really be used with
        DVR. Do NOT redraw the overlays every frame :-)

src.

-- 
-----{-----{---++at++   -----{----{---++at++   -----{----{---++at++   -----{----{---++at++
Sharon Rose Clay (Fischler) - Silicon Graphics, Advanced Systems Dev.
src++at++sgi.com  (415) 933 - 1002  FAX: (415) 965 - 2658  MS 8U-590
-----{-----{---++at++   -----{----{---++at++   -----{----{---++at++   -----{----{---++at++
=======================================================================
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:55:17 PDT

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