SGI.OPENGL.SOURCE
所属分类:OpenGL
开发工具:C/C++
文件大小:2810KB
下载次数:14
上传日期:2010-09-16 22:57:10
上 传 者:
北京阿休
说明: SGI 开发的OpenGL 核心库 源代码
注意:不是OpenGL应用程序代码,是类似于opengl32.dll的源代码,极具参考价值。
(SGI OpenGL development of the core library source code Note: Not OpenGL application code, source code is similar to opengl32.dll, great reference value.)
文件列表:
SGI.OPENGL.SOURCE (0, 2008-04-22)
SGI.OPENGL.SOURCE\doc (0, 2008-04-22)
SGI.OPENGL.SOURCE\doc\GNUmakefile (2160, 2000-04-26)
SGI.OPENGL.SOURCE\doc\man (0, 2008-04-22)
SGI.OPENGL.SOURCE\doc\man\GNUmakefile (2183, 2000-04-05)
SGI.OPENGL.SOURCE\doc\man\Imakefile (2139, 2000-04-05)
SGI.OPENGL.SOURCE\doc\man\macros (0, 2008-04-22)
SGI.OPENGL.SOURCE\doc\man\macros\GNUmakefile (2099, 2000-04-05)
SGI.OPENGL.SOURCE\doc\man\macros\mkhead.awk (8423, 2000-03-25)
SGI.OPENGL.SOURCE\doc\man\macros\mkhead.ftn.awk (9947, 2000-01-26)
SGI.OPENGL.SOURCE\doc\man\macros\setup (1327, 2000-01-26)
SGI.OPENGL.SOURCE\doc\man\macros\setup.ftn (1109, 2000-01-26)
SGI.OPENGL.SOURCE\doc\man\mandefs (6883, 2000-04-05)
SGI.OPENGL.SOURCE\doc\man\mangl (0, 2008-04-22)
SGI.OPENGL.SOURCE\doc\man\mangl\ftn (0, 2008-04-22)
SGI.OPENGL.SOURCE\doc\man\mangl\ftn\Distfile (2934, 2000-01-26)
SGI.OPENGL.SOURCE\doc\man\mangl\ftn\f (9, 2000-01-26)
SGI.OPENGL.SOURCE\doc\man\mangl\ftn\GNUmakefile (3335, 2000-04-05)
SGI.OPENGL.SOURCE\doc\man\mangl\ftn\Imakefile (48305, 2000-04-05)
SGI.OPENGL.SOURCE\doc\man\mangl\GNUmakefile (2169, 2000-04-05)
SGI.OPENGL.SOURCE\doc\man\mangl\html (0, 2008-04-22)
SGI.OPENGL.SOURCE\doc\man\mangl\html\Distfile (2660, 2000-01-26)
SGI.OPENGL.SOURCE\doc\man\mangl\html\GNUmakefile (2472, 2000-04-05)
SGI.OPENGL.SOURCE\doc\man\mangl\html_ftn (0, 2008-04-22)
SGI.OPENGL.SOURCE\doc\man\mangl\html_ftn\Distfile (3071, 2000-01-26)
SGI.OPENGL.SOURCE\doc\man\mangl\html_ftn\GNUmakefile (2471, 2000-04-05)
SGI.OPENGL.SOURCE\doc\man\mangl\pages (2155, 2000-01-26)
SGI.OPENGL.SOURCE\doc\man\mangl\standard (0, 2008-04-22)
SGI.OPENGL.SOURCE\doc\man\mangl\standard\accum.gl (6639, 2000-04-05)
SGI.OPENGL.SOURCE\doc\man\mangl\standard\activetextureARB.gl (3279, 2000-04-05)
SGI.OPENGL.SOURCE\doc\man\mangl\standard\alphafunc.gl (4951, 2000-04-05)
SGI.OPENGL.SOURCE\doc\man\mangl\standard\aretexturesresident.gl (4867, 2000-04-05)
SGI.OPENGL.SOURCE\doc\man\mangl\standard\arrayelement.gl (4544, 2000-04-05)
SGI.OPENGL.SOURCE\doc\man\mangl\standard\begin.gl (7615, 2000-04-05)
SGI.OPENGL.SOURCE\doc\man\mangl\standard\bindtexture.gl (5637, 2000-04-05)
SGI.OPENGL.SOURCE\doc\man\mangl\standard\bitmap.gl (5823, 2000-04-05)
SGI.OPENGL.SOURCE\doc\man\mangl\standard\blendcolor.gl (3081, 2000-04-05)
SGI.OPENGL.SOURCE\doc\man\mangl\standard\blendequation.gl (6401, 2000-04-05)
SGI.OPENGL.SOURCE\doc\man\mangl\standard\blendfunc.gl (9976, 2007-01-12)
... ...
Release notes for the OpenGL(R) Sample Implementation (Aug. 4, 2000)
Jon Leech, Craig Dunwoody, Dave Shreiner
OpenGL Core Engineering
SGI
INTRODUCTION
These notes briefly describe the structure of the Sample
Implementation (SI) source tree and how it can be built. These are
preliminary, and people who are not highly familiar with building X
are likely to have trouble following these instructions.
Please bear with us as we move into the open source world. We're
undergoing a big transition moving from our internal Perforce-based
source code repository to the CVS-based repository on
http://oss.sgi.com, and we aren't able to build in the wide variety
of environments that open source developers have access to. There
will be startup pains as people get started using the code. Feedback
on problems (and fixes) to the ogl-sample@oss.sgi.com mailing list
will be greatly appreciated, so the build process gets easier for
everyone.
For the latest list of changes to the SI, please see the file
main/doc/release/relnotes.
TREE STRUCTURE
The source tree containing the Sample Implementation (SI) is structured
as follows:
doc/man Source and script tools for GL/GLU/GLX manpages
doc/release More detailed release notes
gfx GL and GLU libraries
gfx/lib/glu GLU library
gfx/lib/glw GLw Motif widget
gfx/lib/opengl GL core rendering library
gfx/lib/opengl/defs
gfx/lib/opengl/include Internal header files
gfx/lib/opengl/generated Generator scripts
gfx/lib/opengl/glcore GL core library
gfx/include
gfx/include/gl GL and GLU headers
gfx/include/gl/spec ".spec" files for generating API and protocol wrappers
gfx/include/gl/template Generator scripts
gfx/include/gl/internal
gfx/include/glx GLX headers
gfx/lib/glut GLUT library for samples
gfx/lib/glfont Simple font library for samples
gfx/lib/rgb Simple image library for samples
gfx/samples Sample programs (most already open source)
glx GLX library
glx/include Headers
glx/lib Client code
glx/server Server code
tools Build tools
tools/man2html manpage -> HTML converter
tools/libspec .spec file tools
tools/include GNU make rules/macros
tools/gfxinstall Portable install script
BUILDING THE SAMPLE IMPLEMENTATION
QUICK RECIPE:
1) Follow the 'BUILDING IN THE SI TREE' instructions below
to create the generated files.
2) Next, follow the 'BUILDING IN THE X TREE' instructions below
to export SI files to the X tree.
3) Finally, follow the instructions in doc/release/build_xfree86
to modify your X tree to link against and intitialize GL, then
build the X server.
MORE DETAILS:
The tree can be used in two ways. First, the SI can be built
entirely within its own tree and the resulting libraries copied into
an X11R6 tree and used to build a GLX-capable X server. This is how
we usually work at SGI; we'll call this the "SI tree" below. The SI
tree is heavily based on GNU make.
Alternatively, the source tree can be exported into a different
structure which fits directly into an X11R6 tree, and is built as
part of the X build. This is how the SI is shipped to our licensees;
we'll call this "X tree". This uses imake, like everything else in
the X11 tree. It's probably going to be easier to build in the X11
tree at first, but moving to the SI tree over time is preferable
since mapping changes from files in the X tree to the SI tree is
tedious.
There are a number of databases and generator scripts used when
building within the SI tree. The generated files include GLX
protocol encoder and decoder routines for indirect rendering, header
files, and some others. When exporting into the X tree, the
generated files are included and the generator scripts are not. The
generator scripts are a mix of awk and Perl today; we'd like to move
completely to Perl in the near future, for better crossplatform
support.
Unfortunately, the two build processes are somewhat interdependent.
To build in the X tree, you must first build (just once) in the SI
tree to create the generated files that are part of what's exported.
To build in the SI tree and then include the resulting GL/GLX
libraries in a new X server, some framework in the X tree is
required so it will know to initialize GLX and link against the
GL/GLX libraries. Thus the 'QUICK RECIPE' above follows both steps
and leaves you with a buildable X tree including GL support.
BUILDING IN THE SI TREE
To build the SI, you must have also have a X11R6/XFree86 source tree
to provide X headers. We currently build against XFree86 3.3.5 on
Linux and will upgrade to XFree86 4.0 when it goes public in the
near future.
The following environment variables are used by the build. All
except GLDEBUG are required.
GLDEBUG
Set GLDEBUG=1 to compile everything with debug flags.
GLPRODUCT
Set GLPRODUCT=DDX. Controls the type of driver to build.
In the future other drivers will use a different GLPRODUCT
setting.
TOPDIR
Set TOPDIR to the path to the root of the SI tree (e.g. this
README.1st file should be under $TOPDIR).
ROOT
Set ROOT to the path to a directory used for installing
scripts, headers, and libraries generated by the build.
It's almost certainly a bad idea to just set ROOT=/ and
install directly into /usr/include, /usr/lib, etc. - we
recommend setting $ROOT=${TOPDIR}/root
XTOPDIR
Set XTOPDIR to the path to the root of your X11R6/XFree86
source tree (e.g. the 'xc' directory should be under
$XTOPDIR). This is required to pick up X11 headers used in
building GLX.
Once these environment variables are set, you can go to $TOPDIR and
'gmake World' (this can take quite awhile and consume a lot of disk
space, since a large number of sample programs are built. Later you
may wish to just rebuild the client and server libraries).
If you're going to export to the X tree, go on to the 'BUILDING IN
THE X TREE' instructions in the next section. Otherwise:
The result of 'gmake World' should be a tree under $ROOT including
these files:
$ROOT/usr/include/GL/*.h GL, GLX, and GLU header files
$ROOT/usr/lib/libGL.so GL/GLX client library
libGLU.so GLU client library
libGLw.a Motif GL widget
libglfont.a Support libraries for samples
libglut.a "
librgb.a "
libdixGL.a X server GLX library
libGLcore.a X server GL library (core renderer)
libdixGL.a and libGLcore.a will need to be included in your XFree86
build. The other libraries are client libraries which can be
installed in /usr/lib or just used via LD_LIBRARY_PATH.
BUILDING IN THE X TREE
The export process requires all the generated files, so you'll need
to build in the SI tree once (as described above) first. Once we get
the website rolling a bit more, we should be able to regularly put
up tarballs of the SI files in the X tree structure distribution on
a regular basis, instead of requiring you to do this yourself.
The next step is to export from the SI tree to the X tree. It's
probably best to use an intermediate directory at first, until
you're comfortable with the export process - otherwise the chance of
scribbling over unexpected parts of the X tree is high. To export:
1) Set the environment variable 'DIST' to the directory to which the
files will be exported, e.g.
setenv DIST /tmp/dist
2) In $TOPDIR, install the build tools:
gmake tools_install
3) Export the files
gmake distsi
After this completes, the following directories will be created
under $DIST:
xc/include/GL
xc/lib/GL
xc/programs/Xserver/GL
xc/programs/Xserver/include/GL
xc/contrib/GL
xc/doc/man/GL
xc/doc/hardcopy/GL
These can then be overlaid into your X tree by:
(cd $DIST && tar cf - xc) | (cd $XTOPDIR && tar xf -)
It's also possible to just set DIST=$XTOPDIR if you're confident,
and avoid the intermediate step.
Finally, once you have the files installed in the X tree, refer to
$TOPDIR/doc/release/build_xfree86 for instructions on how to modify
the XFree86 build to incorporate the SI.
近期下载者:
相关文件:
收藏者: