Re: Another Follow up (Re: OpenGL Headers and libraries under X11)
Re: Another Follow up (Re: OpenGL Headers and libraries under X11)
- Subject: Re: Another Follow up (Re: OpenGL Headers and libraries under X11)
- From: Steven Langer <email@hidden>
- Date: Thu, 15 Jan 2004 19:09:43 -0800
I think there are a couple of misconceptions in this message thread.
Kurt Zimmerman wants to use the GL_ARB_fragment_program extension in
his program. glxinfo indicates that this extension is available under
OS X. Kurt tried
grep GL_ARB_fragment_program /usr/X11R6/include/GL/*h
and couldn't find the extension. If he had typed:
grep GL_ARB_fragment_program
/System/Library/Frameworks/OpenGL.framework/Headers/*.h
he would have found the desired extension. The glext.h file in that
directory contains the constants that allow you to use the extensions.
I think Torrey's real point is that the gl.h header and libGL
implementation distributed by XFree86 don't include this extension.
It is nevertheless possible for an X11 server based on XFree86 to
provide this extension.
Linux systems, for example, use XFree86. Graphics vendors like ATI
and Nvidia provide their own libGL on Linux and it contains lots of
extensions. To write programs using those extensions, you can't rely
on the XFree86 gl.h file. You need to use a gl.h supplied by the
graphics card vendor to get the values for the constants associated
with the various extensions (or you can find the constants by
searching the Internet).
Apple said "this issue does not originate with APPLE-TECHNOLOGY".
That is true, but it doesn't seem to be helpful. It looks to me like
Apple offers an OpenGL that includes quite a few useful extensions.
The problem is that the necessary OpenGL headers are split across two
directories and that you need to get the right version of each
header. I believe a helpful answer would be:
1) Modify your makefile or build system so it first searches for
headers in /System/Library/Frameworks/OpenGL.framework/Headers/. This
will make sure you get the "good" gl.h and glext.h.
2) Put /usr/X11R6/include/GL second on your search path so that you
can find glx.h.
I haven't tried this myself, but it is very similar to the approach I
need to take on Linux systems. I hope this proves helpful.
Steve Langer
Lawrence Livermore Lab
--------------------- original message follows -------------------
--__--__--
Message: 12
Date: Wed, 14 Jan 2004 18:23:11 -0800
To: Kurt Zimmerman <email@hidden>, Mac openGL
<email@hidden>, email@hidden
From: "Torrey T. Lyons" <email@hidden>
Subject: Re: Another Follow up (Re: OpenGL Headers and libraries under
X11)
At 4:55 PM -0800 1/8/04, Kurt Zimmerman wrote:
Okay so I guess Apple is not going to fix this...sigh
Kurt
Since this is a not uncommon misunderstanding, it is worth noting
that Apple's response to this is totally correct given the open
source model they have adopted. What Apple has done with Apple's X11
is provide very good implementation of XFree86 4.3.0 on Panther. The
limitation Kurt Zimmerman is observing is a limitation of the XFree86
4.3.0's libGL. Anyone using XFree86 4.3.0 on any platform will not
find glBindProgramARB() in libGL. This why this issue does not
originate with APPLE-TECHNOLOGY.
Of course, it is possible to use GL_ARB_fragment_program on Mac OS X
10.3 on Apple hardware, but Apple's X11 does not provide a convenient
interface to it. Using OpenGL from Carbon or Cocoa would be the
preferred solution. Every API available on Mac OS X does not provide
identical functionality. In this case the specification of the
functionality of the X11 libGL is set by an external source: the open
source XFree86 Project. This makes sense because XFree86 is a defacto
standard and almost all existing X11 application code will work
correctly with it.
On the other hand, the open source model has a big advantage in that
you can directly affect which direction development goes. A number of
new extensions and features have been added to libGL in XFree86
4.4.0. (Unfortunately not the specific one you mention.) By working
with the Mesa or DRI projects, which XFree86 imports its GLX support
from, you can directly influence which new features are added. Apple
will continue to pick up improvements in its X11 releases as they are
made in the open source community. Similarly XFree86 4.4.0 has
incorporated many improvements due to work by Apple engineers on
Apple's X11.
--Torrey
-------- Original Message --------
Subject: Re: 3509507: Apple's X11/OpenGL libraries do not
provide access to graphics card features
Date: Fri, 9 Jan 2004 00:40:54 GMT
From: email@hidden
To: email@hidden
Please include the line below in follow-up emails for this request.
Follow-up: 3354256
Re: 3509507: Apple's X11/OpenGL libraries do not provide access to
graphics card features
Hello Kurt,
Thank you for reporting this issue.
Our engineers have reviewed your bug report and have determined that
this issue does not originate with APPLE-TECHNOLOGY. Should you
require further help from Apple in resolving this issue, we recommend
that you request assistance from Developer Technical Support. This must
be done by filing a Technical Support Incident.
Information on submitting a Technical Support Incident can be found at:
<http://developer.apple.com/products/techsupport/tsget.html>
I hope this information is helpful to you. Please do not hesitate to
contact us should you have any further questions regarding this matter.
Best Regards,
Maurice Cusseaux
Apple Developer Connection
Worldwide Developer Relations
*****************************
REQUEST
------------------------------------------------------------------------
<GMT13-Dec-2003 19:14:15GMT> Kurt Zimmerman:
* SUMMARY The OpenGL libraries provided with Apples version of X11
do not provide access to many of the graphics card features
available on the ATI 9600 mobility card.
>* STEPS TO REPRODUCE 1. Open an Xterm window on a PowerBook G4 15"
or 17" with 9600 mobility card. 2. type "glxinfo"
3. As a specific example note that GL_ARB_fragment_program is listed
as an available extension (I'm sure there are other examples but
this is one I need). 4. type "cd /usr/X11R6/include/GL"
5. type "grep GL_ARB_fragment_program *.h" Note that It doesn't
exist. 6. type "cd /usr/X11R6/lib"
7. type "nm libGL.dylib | grep -i glBindProgramARB" Again the
needed function is not defined in the library.
* RESULTS
I expected the X11/OpenGL installation to match the graphics card.
Or at least be able to download a graphics card specific patch.
* REGRESSION
This is a static problem.
* NOTES
I'm just requesting that developers be able to download a patch for
the OpenGL libraries that allows us to access features of the
graphics card. I'm currently trying to see if I can work around
this problem by using glew (glew.sourceforge.net)
_______________________________________________
x11-users mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/x11-users
X11 for Mac OS X FAQ: http://developer.apple.com/qa/qa2001/qa1232.html
Report issues, request features, feedback: http://developer.apple.com/bugreporter
Do not post admin requests to the list. They will be ignored.