home *** CD-ROM | disk | FTP | other *** search
- From: hstroyan@hpfcso.FC.HP.COM (Howard Stroyan)
- Date: Tue, 22 Dec 1992 23:36:11 GMT
- Subject: Re: An Open Challenge (it can't be done!)
- Message-ID: <7320056@hpfcso.FC.HP.COM>
- Organization: Hewlett-Packard, Fort Collins, CO, USA
- Path: sparky!uunet!cs.utexas.edu!sdd.hp.com!hpscit.sc.hp.com!hplextra!hpfcso!hstroyan
- Newsgroups: comp.windows.x
- References: <78716@hydra.gatech.EDU>
- Lines: 66
-
- In comp.windows.x, gt4417a@prism.gatech.EDU (SKELTON,JOEL PHILLIP) writes:
-
- > Here's the short form:
- > - 8 bit image in backing pixmap used to update window
- > - Image drawn in 8 bit X window
- > - Want to draw diagonal lines on top of image that can
- > be removed quickly (i.e. replace them with the data they so
- > recently covered)
- > - Can't do server extensions (too many platforms to support)
-
- Well, how about a hardware solution ??? :-)
-
- There are two levels of hardware solutions I would suggest:
-
- 1. This is the really neat but kinda pricey solution.
-
- Some X framebuffers actually support overlay planes
- which allow rendering of such annotation in a seperate
- set of hardware planes. The added value of this approach
- is that you will probably get the use a second hardware
- colormap in the overlays (seperate from the image colormap)
- and such framebuffers also feature 24 bit DirectColor image
- planes. Checkout the CRX24 display on HP series 700s for
- starters. You can get one on a 715/33 for under $14K list.
- OK, OK, I said it was kind of pricey :-)
-
- 2. The second solution is sort of hardware oriented but much
- more generic.
-
- Get a workstation / X server with a reasonably high pixmap
- to framebuffer transfer rate and just beat the problem into
- submission. If you can transfer pixmaps at say ~40 Mbytes/sec
- into the framebuffer, a little extra block transferring can be
- acceptable. Keep a bounding box for the involved area so as
- to minimize the size of the transfer. If you want to get
- clever, fill diagonal lines with a series of smallish blocks
- along the line.
-
- -------
- | \ |
- | \ |
- | \
- -------\-------
- |\ |
- | \ |
- | \ |
- ---\--
- \ . . .
-
- Here's a software solution that can be used, but involves an
- obvious tradeoff which violates your requirements.
- But I have seen folks use it successfully!
-
- 3. Give up 1 bit in your 8 bit framebuffer for annotation.
- (Yes that means 128 of your colors!)
- This allows you to use plane masks to select rendering of
- the annotation and the image. And clearing the annotation
- will reveal the unmodified image which remains in the lower
- half of the colormap/framebuffer.
- This is basicly a software emulation of a 1 bit overlay plane
- and a 7 bit image plane framebuffer configuration.
-
- --
- Howard Stroyan
- Hewlett-Packard hstroyan@fc.hp.com
- User Interface Technology Division
-