home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk1.iso
/
answers
/
graphics
/
opengl-faq
< prev
next >
Wrap
Internet Message Format
|
1993-12-02
|
20KB
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
From: woo@kicksave.asd.sgi.com (Mason Woo)
Newsgroups: comp.graphics.opengl,comp.answers,news.answers
Subject: comp.graphics.opengl Frequently Asked Questions (FAQ) [1/1]
Followup-To: poster
Date: 30 Nov 1993 17:52:20 GMT
Organization: Silicon Graphics Inc., Mountain View, CA
Lines: 419
Approved: news-answers-request@MIT.Edu
Distribution: world
Expires: 31 December 1993 00:00:00 GMT
Message-ID: <2dg18k$p33@fido.asd.sgi.com>
Reply-To: woo@kicksave.asd.sgi.com
NNTP-Posting-Host: kicksave.asd.sgi.com
Summary: This contains a list of Frequently Asked Questions about OpenGL (TM)
Keywords: FAQ
Xref: senator-bedfellow.mit.edu comp.graphics.opengl:966 comp.answers:2848 news.answers:15199
Archive-name: graphics/opengl-faq
Last-modified: 1993/11/30
Version: 1.10
* marks recently modified answers or new questions
Q1: What is OpenGL?
Q2: What is the relationship between IRIS GL and OpenGL?
Q3: What does the .gl or .GL file format have to do with OpenGL?
* Q4: Which vendors are supporting OpenGL?
Q5: When will OpenGL implementations be available?
* Q6: What documentation is available for OpenGL? Where is
a written version of the OpenGL specification? Where is
the source code which accompanies that documentation?
Q7: Why doesn't SGI provide a free implementation of OpenGL?
Q8: What are the conformance tests?
Q9: How do I contribute OpenGL code examples to a publicly
accessible archive?
Q10: Will OpenGL code be source code or binary code compatible with
IRIS GL code?
Q11: Why should I port my IRIS GL application to OpenGL?
Q12: How much work is it to convert an IRIS GL program to OpenGL?
What are the major differences between them?
Q13: How does a university or research institution acquire access to
OpenGL source code?
Q14: How is a commercial license acquired?
Q15: How is the OpenGL governed? Who decides what changes can be
made?
Q16: Who are the current ARB members?
Q17: What is the philosophy behind the structure of the ARB?
* Q18: How does the OpenGL ARB operate logistically? When does the
ARB have meetings?
Q19: How do additional members join the OpenGL ARB?
Q20: So if I'm not a member of the ARB, am I shut out of the decision
making process?
* Q21: What is the OpenGL Advisory Forum?
Q22: Are ARB meetings open to observers?
------
Subject: Q1: What is OpenGL?
A: OpenGL is the software interface for graphics hardware that allows
graphics programmers to produce high-quality color images of 3D
objects. OpenGL is a rendering only, vendor neutral API providing 2D
and 3D graphics functions, including modelling, transformations,
color, lighting, smooth shading, as well as advanced features like
texture mapping, NURBS, fog, alpha blending and motion blur. OpenGL
works in both immediate and retained (display list) graphics modes.
OpenGL is window system and operating system independent. OpenGL has
been integrated with Windows NT and with the X Window System under
UNIX. Also, OpenGL is network transparent. A defined common extension
to the X Window System allows an OpenGL client on one vendor's platform
to run across a network to another vendor's OpenGL server.
------
Subject: Q2: What is the relationship between IRIS GL and OpenGL?
A: IRIS GL is the predecessor to OpenGL. After other implementors
had experience trying to port the IRIS GL to their own machines, it
was learned that the IRIS GL was too tied to a specific window system
or hardware. Based upon consultations with several implementors,
OpenGL is much more platform independent.
IRIS GL is being maintained and bugs will be fixed, but SGI will no
longer add enhancements. OpenGL is now the strategic interface for
3-D computer graphics.
------
Subject: Q3: What does the .gl or .GL file format have to do with OpenGL?
.gl files have nothing to do with OpenGL. It's a file format for
images, which has no relationship to IRIS GL or OpenGL.
------
Subject: Q4: Which vendors are supporting OpenGL?
A: OpenGL is supported by SGI and many other hardware vendors. As of
August, 1993, OpenGL has been licensed to DEC, IBM, Intel, Microsoft,
Portable Graphics (formerly Nth Portable Graphics; supporting Sun and HP),
Du Pont Pixel Systems (supporting Sun and a Du Pont Pixel graphics
accelerator board), Evans & Sutherland, Kubota Pacific, Sony, NEC,
Hitachi, Daikin, Intergraph, miro, Media Vision, RasterOps, Samsung, SPEA,
USL, Harris Computer, and Kendall Square Research.
The machines supported by OpenGL licensees constitute over 95% of the
graphics workstation marketplace, as well as the majority of the PC market.
------
Subject: Q5: When will OpenGL implementations be available?
A: On SGI machines, OpenGL is available on both Onyx and Indy.
Availability on at Indigo, Indigo 2, Crimson, and other SGI workstations
will be part of the next release of IRIX to upgrade all products
to 5.x.
Digital Equipment has shipped its first OpenGL product as
part of the Open3D 2.0 layered product for Alpha AXP OSF/1. The server
support in this release is only for the PXG graphics adaptor, but the
client libraries are of course universal if thats all you need.
For information on ordering the Open3D 2.0 product from Digital
contact your Digital sales representative.
SGI does not speak for any other company. However, this space is
available for any company who wishes to state status reports or
release dates for their OpenGL implementation. Please send e-mail
to woo@sgi.com to add to this section.
------
Subject: Q6: What documentation is available for OpenGL? Where is
a written version of the OpenGL specification? Where is
the source code which accompanies that documentation?
A: A 2 volume set, The OpenGL Technical Library, is being published
by Addison-Wesley. The OpenGL Reference Manual is ISBN 0-201-63276-4.
The OpenGL Programming Guide is ISBN 0-201-63274-8.
You can purchase the books in extremely large volume by calling Robert
Shepard of Addison-Wesley (617) 944-3700 ext 2435.
The man pages are also available via anonymous, public ftp.
On the machine sgi.com, the directory with man pages for
OpenGL, its Utility Library (glu), and the X server extension API
(glx) is ~ftp/OpenGL/doc.
If you have access to ftp, you can get the source code examples
which are found in the OpenGL Programming Guide via anonymous,
public ftp on another machine: sgigate.sgi.com in the file
~ftp/pub/opengl/opengl.tar.Z
A PostScript version of the OpenGL specification is available via ftp.
The spec is available for anonymous ftp on
sgigate.sgi.com:~ftp/pub/opengl/doc/Spec.tar.Z
The spec is contained in directory with several files which have
been tar'd and compressed. The OpenGL, OpenGL Utility Library,
X extensions (glx) specifications are all here.
Please read the README file in the directory, which explains
the copyright and trademark rules for usage of the specification.
Possession of the OpenGL Specification does not grant the right to
reproduce, create derivative works based on or distribute or
manufacture, use or sell anything that embodies the specification
without an OpenGL license from SGI.
------
Subject: Q7: Why doesn't SGI provide a free implementation of OpenGL?
A: The intent of licensing is to enhance conformity and portability of
applications code. In the days before OpenGL, IRIS GL was supported
differently and enhanced differently for each machine on which it was
implemented. This included machines from IBM, HP, Sun, as well as SGI.
Applications developers found this to be a nightmare, and convinced
SGI that OpenGL implementations needed to be more consistent. This
led us to develop specifications and conformance tests, and to seek
some way to ensure that OpenGL implementors would honor them. There
are only a few legal mechanisms that can be used for this purpose,
and licensing is one of the most effective and widely accepted. SGI
thinks the lack of a public-domain implementation is a trade-off for
a guarantee of consistent OpenGL implementations from many different
vendors, and that in the long run this is the best interests of
application developers, who seek ease of portability, and end-users,
who seek to be able to choose among hardware vendors for their chosen
software solution.
Licensing money goes to creating conformance tests to control variants
and subsets, maintaining the specification and sample implementation.
Because of the overhead of having the dozen or so engineers working
on OpenGL at SGI, SGI is not making money from the OpenGL effort.
Licensing is one way to help offset those costs.
------
Subject: Q8: What are the conformance tests?
A: The conformance tests are a suite of programs which judge the
success of an OpenGL implementation. Each implementor is required
to run these tests and pass them in order to call their implementation
with the trademark OpenGL. Passing the conformance tests ensures
source code compatibility of applications across all OpenGL
implementations.
------
Subject: Q9: How do I contribute OpenGL code examples to a publicly
accessible archive?
A: To contribute to the public OpenGL archive, send mail to
opengl-contrib@sgi.com. Your mail should contain:
The material to be archived, or instructions for obtaining it.
An announcement suitable for posting to comp.graphics.opengl.
SGI will place the material in the OpenGL/contrib directory on sgi.com
and post the announcement to this newsgroup.
To retrieve something from the archive, use anonymous ftp to sgi.com.
Once connected, cd to the directory OpenGL. (Case is significant.)
Currently there are two subdirectories:
doc
Manual pages for OpenGL and related libraries.
contrib
Contributions from the public.
Note that all contributions are distributed as-is; neither SGI nor the
other companies on the OpenGL Architecture Review Board make any
legally valid claims about the robustness or usefulness of this software.
If you do not have access to anonymous ftp, consider using an
"ftp-by-mail" server. For information on one such server, send mail
to ftpmail@decwrl.dec.com with a message body containing only the word
"help".
------
Subject: Q10: Will OpenGL code be source code or binary code compatible with
IRIS GL code?
A: OpenGL code is neither binary nor source code compatible with IRIS
GL code. It was decided to bite the bullet at this time to make
OpenGL incompatible with IRIS GL and fix EVERYTHING that made IRIS GL
difficult to port or use. For example, the gl prefix has been added
to every command: glVertex(), glColor(), etc.
------
Subject: Q11: Why should I port my IRIS GL application to OpenGL?
SGI will be maintaining the old IRIS GL, but not enhancing it.
OpenGL is the API of choice on all new SGI machines.
OpenGL has no subsets. You can use the same functionality
on all machines from SGI or from other vendors.
OpenGL is better integrated with the X Window System than
the old IRIS GL. For example, you can mix OpenGL and X
or Display PostScript drawing operations in the same window.
The OpenGL naming scheme, argument list conventions, and
rendering semantics are cleaner than those of IRIS GL. This
should make OpenGL code easier to understand and maintain.
------
Subject: Q12: How much work is it to convert an IRIS GL program to OpenGL?
What are the major differences between them?
There is a fair amount of work, most of which is in substituting
for window management or input handling routines, for which the
equivalents are not OpenGL, but the local window system, such as
the X Windows System or Windows NT. And all routine names have changed,
at least, minimally; for example: ortho() is now glOrtho().
To help ease the way, port to "mixed model" right away, mixing the
X Window System calls to open and manage windows, cursors, and color
maps and read events of the window system, mouse and keyboard.
You can do that now with IRIS GL, if you are running IRIX 4.0.
In the X Window System, display mode choices (such as single or
double buffering, color index or RGBA mode) must be declared before
the window is initially opened. You may also substitute for other
IRIS GL routines, such as using a OSF/Motif menu system, in place of
the IRIS GL pop-up menus. You should use glXUseXFont(), whenever
you were using the font manager with IRIS GL.
Tables for states such as lighting or line and polygon stipples will
be gone. Instead of using a def/set or def/bind sequence to load a
table, you turn on the state with glEnable() and also declare the
current values for that state.
Colors are best stored as floating point values, scaled from 0.0 to
1.0 (0% to 100%). Alpha is fully integrated in the RGBA mode and
at least source alpha will be available on all OpenGL implementations.
OpenGL will not arbitrarily limit the number of bits per color to 8.
Clearing the contents of buffers no longer uses the current color, but
a special "clearing" color for each buffer (color, depth, stencil, and
accumulation).
The transformation matrix has changed. In OpenGL, there is no
single matrix mode. Matrices are now column-major and are post-multiplied,
although that does NOT change the calling order of these routines from
IRIS GL to OpenGL. OpenGL's glRotate*() now allows for a rotation
around an arbitrary axis, not just the x, y, and z axes. lookat()
of IRIS GL is now gluLookAt(), which takes an up vector value, not
merely a twist. There is no polarview() in OpenGL, but a series
of glRotate*()s and glTranslate*()s can do the same thing.
There are no separate depth cueing routines in OpenGL. Use linear fog.
Feedback and selection (picking) return values, which are different
from those found on any IRIS GL implementation. For selection and
picking, depth values will be returned for each hit. In OpenGL, feedback
and selection will now be standardized on all hardware platforms.
------
Subject: Q13: How does a university or research institution acquire access to
OpenGL source code?
A: There is a university/research institution licensing program. A
university license entitles the institution to generate binaries and
copy them anywhere, so long as nothing leaves the institution. The
OpenGL source and derived binaries can only be used for non-commercial
purposes on-campus. A university license costs $500 and can be
obtained by contacting woo@sgi.com.
------
Subject: Q14: How is a commercial license acquired?
A: Call Mason Woo at (415) 390-4205 or e-mail him at woo@sgi.com.
There are licenses available restricted to site (local) usage, or
permitting redistribution of binary code. The limited source
license provides a sample implementation of OpenGL for $50,000.
The license for commerical redistribution of OpenGL binaries
has two most commonly chosen levels. Level 1 costs $25,000.
Level 2 costs $100,000, and includes the sample implementation of
OpenGL. Both levels require a $5 royalty for every copy of the
OpenGL binary, which is redistributed.
Since many implementations will be a shared library on a hardware
platform, the royalty sometimes will be charged for each hardware
platform, not each application which uses OpenGL.
------
Subject: Q15: How is the OpenGL governed? Who decides what changes can be
made?
A: OpenGL is controlled by an independent board, the Architectural
Review Board (ARB). Each member of the ARB has one vote. The founding
members of the ARB are DEC, IBM, Intel, Microsoft, and SGI.
Additional members will be added over time. The ARB governs the
future of OpenGL, proposing and approving changes to the
specification, new releases, and conformance testing.
------
Subject: Q16: Who are the current ARB members?
A: In alphabetical order: Digital Equipment, IBM, Intel, Microsoft,
and Silicon Graphics.
------
Subject: Q17: What is the philosophy behind the structure of the ARB?
A: The ARB is intended to be able to respond quickly and flexibly to
evolutionary changes in computer graphics technology. The ARB is
currently "lean and mean" to encourage speedy communication and
decision-making. Its members are highly motivated in ensuring the
success of OpenGL.
------
Subject: Q18: How does the OpenGL ARB operate logistically? When does
the ARB
have meetings?
A: ARB meetings are held about once a quarter. The meetings rotate
among sites hosted by the ARB members.
The next ARB meeting will be held the week of December 9th and 10th in
Austin, Texas at the Embassy Suites/Airport. This meeting will be
hosted by IBM. There will also be a day or two of interoperability
testing as part of the next ARB meeting, and licensees are invited
to test the interoperability of their OpenGL implementations.
Meetings are run by a set of by-laws, which are currently being
approved. When they are approved, the by-laws will be publicly
available for inspection.
------
Subject: Q19: How do additional members join the OpenGL ARB?
A: The intention is that additional members may be added on a
permanent basis or for a one-year term. The one-year term members
would be voting members, added on a rotating basis, so that
different viewpoints (such as ISV's) could be incorporated into new
releases. Under the currently proposed (but not yet ratified)
by-laws, SGI formally nominates new members.
------
Subject: Q20: So if I'm not a member of the ARB, am I shut out of the
decision
making process?
A: There are many methods by which you can influence the evolution of
OpenGL.
1) Contribute to the comp.graphics.opengl news group. Most members of
the ARB read the news group religiously.
2) Contact any member of the ARB and convince that member that your
proposal is worth their advocacy. Any ARB member may present a
proposal, and all ARB members have equal say.
3) Come to OpenGL Advisory Forum and speak directly to ARB in person.
------
Subject: Q21: What is the OpenGL Advisory Forum?
A: Preceding every ARB meeting will be a meeting of the OpenGL
Advisory Forum. Members of the ARB will attend this meeting to listen
to proposals and discussions. If you want to attend, you want to
notify the Secretary of the ARB. Until a more generic mail alias is
set up for the Secretary, you can just send mail to woo@sgi.com
The Advisory Forum is intended to start as an informal, self-governing
group of people, highly interested in OpenGL. The ARB will invite a
representative of the Advisory Forum to attend the ARB meetings, in a
non-voting capacity. Advisory Forum members can be candidates for
both short-term and permanent membership in the ARB. The Advisory
Forum is encouraged to formulate its own structure and rules and move
into any direction it wants.
Corporations, universities, or individuals can be members of the
Advisory Forum.
The next OpenGL Advisory Forum meeting is Wednesday, December 8th,
from 1 to 5 PM, hosted by IBM in Austin, Texas (same place as the ARB meeting).
------
Subject: Q22: Are ARB meetings open to observers?
A: The ARB meeting will be open to observers, but we want to keep the
meeting small. For the next meeting in Austin, Texas, the ARB
will allow the Advisory Forum to nominate five representatives of the
Advisory Forum to attend the ARB meeting, in a non-voting capacity.
After the meeting in Austin, the ARB will once again re-evaluate the
number of observers, based upon the success of this experiment.