home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk1.iso / answers / graphics / opengl-faq < prev    next >
Internet Message Format  |  1993-12-02  |  20KB

  1. Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!nic.hookup.net!news.moneng.mei.com!howland.reston.ans.net!cs.utexas.edu!swrinde!sgiblab!sgigate.sgi.com!fido.asd.sgi.com!kicksave.asd.sgi.com!woo
  2. From: woo@kicksave.asd.sgi.com (Mason Woo)
  3. Newsgroups: comp.graphics.opengl,comp.answers,news.answers
  4. Subject: comp.graphics.opengl Frequently Asked Questions (FAQ) [1/1]
  5. Followup-To: poster
  6. Date: 30 Nov 1993 17:52:20 GMT
  7. Organization: Silicon Graphics Inc., Mountain View, CA
  8. Lines: 419
  9. Approved: news-answers-request@MIT.Edu
  10. Distribution: world
  11. Expires: 31 December 1993 00:00:00 GMT
  12. Message-ID: <2dg18k$p33@fido.asd.sgi.com>
  13. Reply-To: woo@kicksave.asd.sgi.com
  14. NNTP-Posting-Host: kicksave.asd.sgi.com
  15. Summary: This contains a list of Frequently Asked Questions about OpenGL (TM)
  16. Keywords: FAQ
  17. Xref: senator-bedfellow.mit.edu comp.graphics.opengl:966 comp.answers:2848 news.answers:15199
  18.  
  19. Archive-name: graphics/opengl-faq
  20. Last-modified: 1993/11/30
  21. Version: 1.10
  22.  
  23. * marks recently modified answers or new questions
  24.  
  25. Q1:  What is OpenGL?
  26. Q2:  What is the relationship between IRIS GL and OpenGL?
  27. Q3:  What does the .gl or .GL file format have to do with OpenGL?
  28. * Q4:  Which vendors are supporting OpenGL?
  29. Q5:  When will OpenGL implementations be available?
  30. * Q6:  What documentation is available for OpenGL?  Where is
  31. a written version of the OpenGL specification?  Where is
  32. the source code which accompanies that documentation?
  33. Q7:  Why doesn't SGI provide a free implementation of OpenGL?
  34. Q8:  What are the conformance tests?
  35. Q9:  How do I contribute OpenGL code examples to a publicly
  36. accessible archive?
  37. Q10:  Will OpenGL code be source code or binary code compatible with
  38. IRIS GL code?
  39. Q11:  Why should I port my IRIS GL application to OpenGL?
  40. Q12:  How much work is it to convert an IRIS GL program to OpenGL?
  41. What are the major differences between them?
  42. Q13:  How does a university or research institution acquire access to
  43. OpenGL source code?
  44. Q14:  How is a commercial license acquired?
  45. Q15:  How is the OpenGL governed?  Who decides what changes can be
  46. made?
  47. Q16:  Who are the current ARB members?
  48. Q17:  What is the philosophy behind the structure of the ARB?
  49. * Q18:  How does the OpenGL ARB operate logistically?  When does the
  50. ARB have meetings?
  51. Q19:  How do additional members join the OpenGL ARB?
  52. Q20:  So if I'm not a member of the ARB, am I shut out of the decision 
  53. making process?
  54. * Q21:  What is the OpenGL Advisory Forum?
  55. Q22:  Are ARB meetings open to observers?
  56.  
  57. ------
  58. Subject:  Q1:  What is OpenGL?
  59.  
  60. A:  OpenGL is the software interface for graphics hardware that allows
  61. graphics programmers to produce high-quality color images of 3D
  62. objects.  OpenGL is a rendering only, vendor neutral API providing 2D
  63. and 3D graphics functions, including modelling, transformations,
  64. color, lighting, smooth shading, as well as advanced features like
  65. texture mapping, NURBS, fog, alpha blending and motion blur.  OpenGL
  66. works in both immediate and retained (display list) graphics modes.
  67. OpenGL is window system and operating system independent.  OpenGL has 
  68. been integrated with Windows NT and with the X Window System under
  69. UNIX.  Also, OpenGL is network transparent.  A defined common extension
  70. to the X Window System allows an OpenGL client on one vendor's platform
  71. to run across a network to another vendor's OpenGL server. 
  72.  
  73. ------
  74. Subject:  Q2:  What is the relationship between IRIS GL and OpenGL?
  75.  
  76. A:  IRIS GL is the predecessor to OpenGL.  After other implementors
  77. had experience trying to port the IRIS GL to their own machines, it
  78. was learned that the IRIS GL was too tied to a specific window system
  79. or hardware.  Based upon consultations with several implementors,
  80. OpenGL is much more platform independent.
  81.  
  82. IRIS GL is being maintained and bugs will be fixed, but SGI will no
  83. longer add enhancements.  OpenGL is now the strategic interface for
  84. 3-D computer graphics.
  85.  
  86. ------
  87. Subject:  Q3:  What does the .gl or .GL file format have to do with OpenGL?
  88.  
  89. .gl files have nothing to do with OpenGL.  It's a file format for
  90. images, which has no relationship to IRIS GL or OpenGL.
  91.  
  92. ------
  93. Subject:  Q4:  Which vendors are supporting OpenGL?
  94.  
  95. A:  OpenGL is supported by SGI and many other hardware vendors.  As of
  96. August, 1993, OpenGL has been licensed to DEC, IBM, Intel, Microsoft, 
  97. Portable Graphics (formerly Nth Portable Graphics; supporting Sun and HP), 
  98. Du Pont Pixel Systems (supporting Sun and a Du Pont Pixel graphics 
  99. accelerator board), Evans & Sutherland, Kubota Pacific, Sony, NEC, 
  100. Hitachi, Daikin, Intergraph, miro, Media Vision, RasterOps, Samsung, SPEA, 
  101. USL, Harris Computer, and Kendall Square Research.
  102.  
  103. The machines supported by OpenGL licensees constitute over 95% of the 
  104. graphics workstation marketplace, as well as the majority of the PC market.
  105.  
  106. ------
  107. Subject:  Q5:  When will OpenGL implementations be available?
  108.  
  109. A:  On SGI machines, OpenGL is available on both Onyx and Indy.   
  110. Availability on at Indigo, Indigo 2, Crimson, and other SGI workstations
  111. will be part of the next release of IRIX to upgrade all products
  112. to 5.x.
  113.  
  114. Digital Equipment has shipped its first OpenGL product as
  115. part of the Open3D 2.0 layered product for Alpha AXP OSF/1. The server
  116. support in this release is only for the PXG graphics adaptor, but the
  117. client libraries are of course universal if thats all you need. 
  118. For information on ordering the Open3D 2.0 product from Digital 
  119. contact your Digital sales representative.
  120.  
  121. SGI does not speak for any other company.  However, this space is
  122. available for any company who wishes to state status reports or
  123. release dates for their OpenGL implementation.  Please send e-mail
  124. to woo@sgi.com to add to this section.
  125.  
  126. ------
  127. Subject:  Q6:  What documentation is available for OpenGL?  Where is
  128. a written version of the OpenGL specification?  Where is
  129. the source code which accompanies that documentation?
  130.  
  131. A:  A 2 volume set, The OpenGL Technical Library, is being published
  132. by Addison-Wesley.  The OpenGL Reference Manual is ISBN 0-201-63276-4.
  133. The OpenGL Programming Guide is ISBN 0-201-63274-8.
  134.  
  135. You can purchase the books in extremely large volume by calling Robert
  136. Shepard of Addison-Wesley (617) 944-3700 ext 2435.
  137.  
  138. The man pages are also available via anonymous, public ftp.
  139. On the machine sgi.com, the directory with man pages for
  140. OpenGL, its Utility Library (glu), and the X server extension API 
  141. (glx) is ~ftp/OpenGL/doc.
  142.  
  143. If you have access to ftp, you can get the source code examples
  144. which are found in the OpenGL Programming Guide via anonymous, 
  145. public ftp on another machine:  sgigate.sgi.com in the file
  146. ~ftp/pub/opengl/opengl.tar.Z
  147.  
  148. A PostScript version of the OpenGL specification is available via ftp.  
  149. The spec is available for anonymous ftp on 
  150. sgigate.sgi.com:~ftp/pub/opengl/doc/Spec.tar.Z
  151. The spec is contained in directory with several files which have 
  152. been tar'd and compressed.  The OpenGL, OpenGL Utility Library, 
  153. X extensions (glx) specifications are all here.
  154.  
  155. Please read the README file in the directory, which explains
  156. the copyright and trademark rules for usage of the specification.
  157. Possession of the OpenGL Specification does not grant the right to
  158. reproduce, create derivative works based on or distribute or 
  159. manufacture, use or sell anything that embodies the specification
  160. without an OpenGL license from SGI.
  161. ------
  162. Subject:  Q7:  Why doesn't SGI provide a free implementation of OpenGL?
  163.  
  164. A:  The intent of licensing is to enhance conformity and portability of
  165. applications code.  In the days before OpenGL, IRIS GL was supported
  166. differently and enhanced differently for each machine on which it was
  167. implemented.  This included machines from IBM, HP, Sun, as well as SGI.
  168. Applications developers found this to be a nightmare, and convinced
  169. SGI that OpenGL implementations needed to be more consistent.  This
  170. led us to develop specifications and conformance tests, and to seek 
  171. some way to ensure that OpenGL implementors would honor them.  There 
  172. are only a few legal mechanisms that can be used for this purpose,
  173. and licensing is one of the most effective and widely accepted.  SGI 
  174. thinks the lack of a public-domain implementation is a trade-off for
  175. a guarantee of consistent OpenGL implementations from many different
  176. vendors, and that in the long run this is the best interests of 
  177. application developers, who seek ease of portability, and end-users,
  178. who seek to be able to choose among hardware vendors for their chosen
  179. software solution. 
  180.  
  181. Licensing money goes to creating conformance tests to control variants 
  182. and subsets, maintaining the specification and sample implementation.  
  183. Because of the overhead of having the dozen or so engineers working 
  184. on OpenGL at SGI, SGI is not making money from the OpenGL effort.  
  185. Licensing is one way to help offset those costs.
  186.  
  187. ------
  188. Subject:  Q8:  What are the conformance tests?
  189.  
  190. A:  The conformance tests are a suite of programs which judge the
  191. success of an OpenGL implementation.  Each implementor is required
  192. to run these tests and pass them in order to call their implementation 
  193. with the trademark OpenGL.  Passing the conformance tests ensures 
  194. source code compatibility of applications across all OpenGL 
  195. implementations.
  196.  
  197. ------
  198. Subject:  Q9:  How do I contribute OpenGL code examples to a publicly
  199. accessible archive?
  200.  
  201. A:  To contribute to the public OpenGL archive, send mail to
  202. opengl-contrib@sgi.com.  Your mail should contain:
  203.  
  204.     The material to be archived, or instructions for obtaining it.
  205.  
  206.     An announcement suitable for posting to comp.graphics.opengl.
  207.  
  208. SGI will place the material in the OpenGL/contrib directory on sgi.com
  209. and post the announcement to this newsgroup.
  210.  
  211. To retrieve something from the archive, use anonymous ftp to sgi.com.
  212. Once connected, cd to the directory OpenGL.  (Case is significant.)
  213. Currently there are two subdirectories:
  214.  
  215.     doc
  216.         Manual pages for OpenGL and related libraries.
  217.  
  218.     contrib
  219.         Contributions from the public.  
  220.  
  221. Note that all contributions are distributed as-is; neither SGI nor the
  222. other companies on the OpenGL Architecture Review Board make any
  223. legally valid claims about the robustness or usefulness of this software.
  224.  
  225. If you do not have access to anonymous ftp, consider using an
  226. "ftp-by-mail" server.  For information on one such server, send mail
  227. to ftpmail@decwrl.dec.com with a message body containing only the word
  228. "help".
  229.  
  230.  
  231. ------
  232. Subject:  Q10:  Will OpenGL code be source code or binary code compatible with
  233. IRIS GL code?
  234.  
  235. A:  OpenGL code is neither binary nor source code compatible with IRIS
  236. GL code.  It was decided to bite the bullet at this time to make
  237. OpenGL incompatible with IRIS GL and fix EVERYTHING that made IRIS GL
  238. difficult to port or use.  For example, the gl prefix has been added
  239. to every command:  glVertex(), glColor(), etc.
  240.  
  241. ------
  242. Subject:  Q11:  Why should I port my IRIS GL application to OpenGL?
  243.  
  244. SGI will be maintaining the old IRIS GL, but not enhancing it.  
  245. OpenGL is the API of choice on all new SGI machines.
  246.  
  247. OpenGL has no subsets.  You can use the same functionality
  248. on all machines from SGI or from other vendors.
  249.  
  250. OpenGL is better integrated with the X Window System than
  251. the old IRIS GL.  For example, you can mix OpenGL and X
  252. or Display PostScript drawing operations in the same window.
  253.  
  254. The OpenGL naming scheme, argument list conventions, and
  255. rendering semantics are cleaner than those of IRIS GL.  This
  256. should make OpenGL code easier to understand and maintain.
  257.  
  258. ------
  259. Subject:  Q12: How much work is it to convert an IRIS GL program to OpenGL?
  260. What are the major differences between them?
  261.  
  262. There is a fair amount of work, most of which is in substituting
  263. for window management or input handling routines, for which the 
  264. equivalents are not OpenGL, but the local window system, such as
  265. the X Windows System or Windows NT.  And all routine names have changed,
  266. at least, minimally; for example:  ortho() is now glOrtho(). 
  267.  
  268. To help ease the way, port to "mixed model" right away, mixing the
  269. X Window System calls to open and manage windows, cursors, and color
  270. maps and read events of the window system, mouse and keyboard.  
  271. You can do that now with IRIS GL, if you are running IRIX 4.0.  
  272.  
  273. In the X Window System, display mode choices (such as single or 
  274. double buffering, color index or RGBA mode) must be declared before 
  275. the window is initially opened.  You may also substitute for other
  276. IRIS GL routines, such as using a OSF/Motif menu system, in place of
  277. the IRIS GL pop-up menus.  You should use glXUseXFont(), whenever 
  278. you were using the font manager with IRIS GL.
  279.  
  280. Tables for states such as lighting or line and polygon stipples will 
  281. be gone.  Instead of using a def/set or def/bind sequence to load a
  282. table, you turn on the state with glEnable() and also declare the
  283. current values for that state.
  284.  
  285. Colors are best stored as floating point values, scaled from 0.0 to
  286. 1.0 (0% to 100%).  Alpha is fully integrated in the RGBA mode and
  287. at least source alpha will be available on all OpenGL implementations.
  288. OpenGL will not arbitrarily limit the number of bits per color to 8.
  289. Clearing the contents of buffers no longer uses the current color, but
  290. a special "clearing" color for each buffer (color, depth, stencil, and
  291. accumulation).
  292.  
  293. The transformation matrix has changed.  In OpenGL, there is no
  294. single matrix mode.  Matrices are now column-major and are post-multiplied,
  295. although that does NOT change the calling order of these routines from
  296. IRIS GL to OpenGL.  OpenGL's glRotate*() now allows for a rotation
  297. around an arbitrary axis, not just the x, y, and z axes.  lookat() 
  298. of IRIS GL is now gluLookAt(), which takes an up vector value, not
  299. merely a twist.  There is no polarview() in OpenGL, but a series
  300. of glRotate*()s and glTranslate*()s can do the same thing.
  301.  
  302. There are no separate depth cueing routines in OpenGL.  Use linear fog.
  303.  
  304. Feedback and selection (picking) return values, which are different
  305. from those found on any IRIS GL implementation.  For selection and
  306. picking, depth values will be returned for each hit.  In OpenGL, feedback 
  307. and selection will now be standardized on all hardware platforms.
  308.  
  309. ------
  310. Subject:  Q13:  How does a university or research institution acquire access to
  311. OpenGL source code?
  312.  
  313. A:  There is a university/research institution licensing program.  A
  314. university license entitles the institution to generate binaries and
  315. copy them anywhere, so long as nothing leaves the institution.  The
  316. OpenGL source and derived binaries can only be used for non-commercial
  317. purposes on-campus.  A university license costs $500 and can be
  318. obtained by contacting woo@sgi.com.
  319.  
  320. ------
  321. Subject:  Q14:  How is a commercial license acquired?
  322.  
  323. A:  Call Mason Woo at (415) 390-4205 or e-mail him at woo@sgi.com.
  324. There are licenses available restricted to site (local) usage, or
  325. permitting redistribution of binary code.  The limited source 
  326. license provides a sample implementation of OpenGL for $50,000.
  327. The license for commerical redistribution of OpenGL binaries 
  328. has two most commonly chosen levels.  Level 1 costs $25,000.  
  329. Level 2 costs $100,000, and includes the sample implementation of
  330. OpenGL.  Both levels require a $5 royalty for every copy of the 
  331. OpenGL binary, which is redistributed. 
  332.  
  333. Since many implementations will be a shared library on a hardware 
  334. platform, the royalty sometimes will be charged for each hardware 
  335. platform, not each application which uses OpenGL.
  336.  
  337. ------
  338. Subject:  Q15:  How is the OpenGL governed?  Who decides what changes can be
  339. made?
  340.  
  341. A:  OpenGL is controlled by an independent board, the Architectural
  342. Review Board (ARB).  Each member of the ARB has one vote.  The founding
  343. members of the ARB are DEC, IBM, Intel, Microsoft, and SGI.
  344. Additional members will be added over time.  The ARB governs the
  345. future of OpenGL, proposing and approving changes to the
  346. specification, new releases, and conformance testing.
  347.  
  348. ------
  349. Subject:  Q16:  Who are the current ARB members?
  350.  
  351. A:  In alphabetical order:  Digital Equipment, IBM, Intel, Microsoft,
  352. and Silicon Graphics.
  353.  
  354. ------
  355. Subject:  Q17:  What is the philosophy behind the structure of the ARB?
  356.  
  357. A:  The ARB is intended to be able to respond quickly and flexibly to
  358. evolutionary changes in computer graphics technology.  The ARB is
  359. currently "lean and mean" to encourage speedy communication and
  360. decision-making.  Its members are highly motivated in ensuring the
  361. success of OpenGL.
  362.  
  363. ------
  364. Subject:  Q18:  How does the OpenGL ARB operate logistically?  When does
  365. the ARB
  366. have meetings?
  367.  
  368. A:  ARB meetings are held about once a quarter.  The meetings rotate
  369. among sites hosted by the ARB members.
  370.  
  371. The next ARB meeting will be held the week of December 9th and 10th in
  372. Austin, Texas at the Embassy Suites/Airport.  This meeting will be 
  373. hosted by IBM.  There will also be a day or two of interoperability 
  374. testing as part of the next ARB meeting, and licensees are invited 
  375. to test the interoperability of their OpenGL implementations.
  376.  
  377. Meetings are run by a set of by-laws, which are currently being
  378. approved.  When they are approved, the by-laws will be publicly
  379. available for inspection.
  380.  
  381. ------
  382. Subject:  Q19:  How do additional members join the OpenGL ARB?
  383.  
  384. A:  The intention is that additional members may be added on a 
  385. permanent basis or for a one-year term.  The one-year term members 
  386. would be voting members, added on a rotating basis, so that
  387. different viewpoints (such as ISV's) could be incorporated into new
  388. releases.  Under the currently proposed (but not yet ratified)
  389. by-laws, SGI formally nominates new members.
  390.  
  391. ------
  392. Subject:  Q20:  So if I'm not a member of the ARB, am I shut out of the
  393. decision
  394. making process?
  395.  
  396. A:  There are many methods by which you can influence the evolution of
  397. OpenGL.
  398.  
  399. 1) Contribute to the comp.graphics.opengl news group.  Most members of
  400. the ARB read the news group religiously.
  401. 2) Contact any member of the ARB and convince that member that your
  402. proposal is worth their advocacy.  Any ARB member may present a
  403. proposal, and all ARB members have equal say.
  404. 3) Come to OpenGL Advisory Forum and speak directly to ARB in person.
  405.  
  406. ------
  407. Subject:  Q21:  What is the OpenGL Advisory Forum?
  408.  
  409. A:  Preceding every ARB meeting will be a meeting of the OpenGL
  410. Advisory Forum.  Members of the ARB will attend this meeting to listen
  411. to proposals and discussions.  If you want to attend, you want to
  412. notify the Secretary of the ARB.  Until a more generic mail alias is
  413. set up for the Secretary, you can just send mail to woo@sgi.com
  414.  
  415. The Advisory Forum is intended to start as an informal, self-governing
  416. group of people, highly interested in OpenGL.  The ARB will invite a
  417. representative of the Advisory Forum to attend the ARB meetings, in a
  418. non-voting capacity.  Advisory Forum members can be candidates for
  419. both short-term and permanent membership in the ARB.  The Advisory
  420. Forum is encouraged to formulate its own structure and rules and move
  421. into any direction it wants.
  422.  
  423. Corporations, universities, or individuals can be members of the
  424. Advisory Forum.
  425.  
  426. The next OpenGL Advisory Forum meeting is Wednesday, December 8th,
  427. from 1 to 5 PM, hosted by IBM in Austin, Texas (same place as the ARB meeting).
  428.  
  429. ------
  430. Subject:  Q22:  Are ARB meetings open to observers?
  431.  
  432. A:  The ARB meeting will be open to observers, but we want to keep the
  433. meeting small.  For the next meeting in Austin, Texas, the ARB
  434. will allow the Advisory Forum to nominate five representatives of the 
  435. Advisory Forum to attend the ARB meeting, in a non-voting capacity.
  436. After the meeting in Austin, the ARB will once again re-evaluate the 
  437. number of observers, based upon the success of this experiment.
  438.