home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / comp / sys / sgi / 12582 < prev    next >
Encoding:
Text File  |  1992-08-18  |  3.2 KB  |  41 lines

  1. Newsgroups: comp.sys.sgi
  2. Path: sparky!uunet!europa.asd.contel.com!darwin.sura.net!mips!odin!deadhead.asd.sgi.com!mogal
  3. From: mogal@deadhead.asd.sgi.com (Joshua Mogal)
  4. Subject: Re: Reality Engine Alpha Blending / Anti-Aliasing
  5. Message-ID: <1992Aug19.021123.23763@odin.corp.sgi.com>
  6. Sender: news@odin.corp.sgi.com (Net News)
  7. Nntp-Posting-Host: deadhead.asd.sgi.com
  8. Organization: Silicon Graphics, Inc.
  9. References:  <1992Aug6.172329.8196@ncar.ucar.edu>
  10. Distribution: usa
  11. Date: Wed, 19 Aug 1992 02:11:23 GMT
  12. Lines: 27
  13.  
  14. In article <1992Aug6.172329.8196@ncar.ucar.edu>, bill@virga.rap.ucar.edu (Bill Myers) writes:
  15. |> At SIGGraph '92, I got the impression that alpha blending and anti-aliasing
  16. |> are handled differently in the Reality Engine than the VGX. In particular,
  17. |> I think I understood that alpha blended polygons do not have to be
  18. |> rendered back to front in order to be rendered 'correctly' on the Reality
  19. |> Engine. Can anyone sufficiently familiar with the Reality Engine comment?
  20. |> If so, are you at liberty to give a brief explanation as to how this is
  21. |> done? Thanks.
  22. |> 
  23. |> Bill Myers
  24. |> bill@virga.rap.ucar.edu
  25.  
  26.  
  27. You cannot really lump Alpha Blending and Anti-Aliasing into one class of operations here. RealityEngine does indeed perform anti-aliasing differently from the VGX/VGXT class of machines.  On the VGX/VGXT, anti-aliasing was performed on the fly as vectors, points and polygons were rendered, impacting multiple pixels downstream in the frame buffer for each pixel being rendered.  This allowed the VGX/VGXT to smooth out the points and edges using a weighting function around the primary pixel.
  28.  
  29. On RealityEngine, anti-aliasing is performed farther downstream in the graphics pipeline.  When the system determines the coverage of a pixel by a vector point or polygon, it does so by checking the coverage for each of a number of sub-samples within that pixel. There is sufficient memory in the RealityEngine frame buffer to support up to 16 sub-samples per pixel, including a sub-sampled Z value to insure that false edges created through z-buffering are properly anti-aliased.
  30.  
  31. Just like the VGX/VGXT, the RealityEngine maintains positional accuracy of vertices down to an 8x8 subpixel grid, or 64 subpixels/pixel. On the VGX, this is used to determine how to weight the rendering of multiple pixels for each pixel drawn to perform anti-aliasing.  On RealityEngine, however, from 0-16 of those subpixel locations are designated as sample points. The system then determines not the coverage of the pixel, but of each of the multiple sub-pixel sample points.
  32.  
  33. The number of covered sub-samples determines the rendering weight of the primitive (point, vector, poly) being rendered (i.e. if 6 of 8 samples are covered, the pixel would be blended with 75% of the color of the primitive).  There is virtually no performance impact when performing this type of anti-aliaing on the RealityEngine, while the older style anti-aliasing resulted in a 2-to-1 performance hit on a VGX/VGXT machine.
  34.  
  35. Alpha Blending is much the same on RealityEngine as for the VGX/VGXT except that computations are performed at a sub-pixel rather than a pixel level. Sorting still helps.
  36.  
  37.  
  38. Joshua Mogal
  39. Product Manager
  40. Advanced Graphics Division
  41.