home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / graphics / opengl / 210 < prev    next >
Encoding:
Internet Message Format  |  1992-12-14  |  4.2 KB

  1. Path: sparky!uunet!zaphod.mps.ohio-state.edu!saimiri.primate.wisc.edu!ames!sgi!fido!tuolumne!akin
  2. From: akin@tuolumne.asd.sgi.com (Allen Akin)
  3. Newsgroups: comp.graphics.opengl
  4. Subject: Re: GL question
  5. Date: 14 Dec 1992 19:47:18 GMT
  6. Organization: Silicon Graphics, Inc.  Mountain View, CA
  7. Lines: 82
  8. Message-ID: <1gioc6INNck8@fido.asd.sgi.com>
  9. References: <1992Dec4.023016.19762@news.csd.sgi.com> <1992Dec14.164044.16279@kakwa.ucs.ualberta.ca>
  10. NNTP-Posting-Host: tuolumne.asd.sgi.com
  11.  
  12.  
  13. I've already replied by email, but for the benefit of comp.graphics.opengl
  14. readers, here's a copy:
  15.  
  16.  
  17. | What are the differences between GL by SGI and OpenGL. ...
  18.  
  19. The main difference is that OpenGL has only rendering functionality.
  20. It has none of the menu routines, windowing routines, or input queue
  21. routines that appeared in IRIS GL.  OpenGL applications are expected to
  22. use their windowing system (whatever that may be -- currently X11 or
  23. Windows NT) to perform the missing functions.
  24.  
  25. Another major difference is that OpenGL may not be subsetted.  Unlike
  26. IRIS GL, where functionality differs from machine to machine, OpenGL
  27. has the same functionality on all machines.  (Software rendering must
  28. be used whenever the hardware fails to support some feature.)
  29.  
  30. The OpenGL API is a lot like the IRIS GL API, but some names and
  31. argument lists have been changed.  This makes them more consistent, and
  32. eliminates some name-space conflicts.
  33.  
  34. OpenGL display lists are somewhat different from IRIS GL objects.
  35. Display lists can be created, deleted, and replaced (even at fine
  36. granularity, like individual vertex coordinates).  However, display
  37. lists may not be edited.  In OpenGL, display lists also replace the
  38. "def" and "bind" routines that appear in IRIS GL.
  39.  
  40. |                                                    ... Specifically, I 
  41. | noticed that GL only has raster fonts. It is vital for our applications to
  42. | have fonts consisting of strokes, like the Hershey font. Does OpenGL have
  43. |     this or could we add it? ...
  44.  
  45. OpenGL handles fonts in two steps:
  46.  
  47.     1.    Create an array of display lists with consecutive identification
  48.     numbers.  The contents of each display list are the instructions
  49.     needed to draw one glyph of the character set.
  50.  
  51.     2.    Invoke a set of display lists by using each of the bytes in an
  52.     array of characters (or larger integer types) as indices into
  53.     the array of display lists created in step 1.
  54.  
  55. You can create the display lists in any way you like.  OpenGL provides some
  56. utility routines to convert window-system fonts into display lists, but since
  57. X11 provides only raster fonts, on X11 you'll only get rasters.  (On Windows
  58. NT you also get polygonal fonts.)  Since you need Hershy fonts, I'd recommend
  59. getting one of the public-domain versions of the glyphs and building display
  60. lists from them.  Then you can draw vector fonts with the string-drawing
  61. routines mentioned in step 2 above.  This is fairly easy to do, and gives
  62. you the freedom to modify the font in whatever way you'd like.
  63.  
  64. [Mason, is there anything like this in the OpenGL books?  Might be a good
  65. example.]
  66.  
  67. |                            ... we require publication-quality output at 
  68. | 300dpi. Does OpenGL have this? ...
  69.  
  70. OpenGL assumes the output device is raster-based, not calligraphic.  You
  71. can render to pixmaps (offscreen memory) at whatever resolution you like,
  72. though you may have to render a large image in pieces if the resolution is
  73. so high that the maximum size pixmap is too small.  This can result in
  74. *enormous* image files if you're printing in full color, so be aware of
  75. the limitations.
  76.  
  77. |                            ... I assume that in OpenGL I can define
  78. | line widths and graphical objects, or?
  79.  
  80. Yes, you can define both line widths and graphical objects (in the sense
  81. that display lists are graphical objects).
  82.  
  83. | What I'm really leading up to is whether it is a
  84. | suitable replacement for DISSPLA from CA, from a FUNCTIONAL, not ease of
  85. | programming point of view.
  86.  
  87. Unfortunately, I can't answer that one.  Though I've heard of it, I'm not
  88. really familiar with DISSPLA.  I was under the impression that it was mainly
  89. intended for calligraphic devices like storage tubes, vector scopes, and
  90. plotters.  OpenGL is better-suited for raster displays and printers.
  91.  
  92.  
  93. Allen
  94.