public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Brian Ford <ford@vss.fsi.com>
To: cygwin@cygwin.com
Subject: Re: Future of OpenGL package
Date: Fri, 26 Sep 2003 00:22:00 -0000	[thread overview]
Message-ID: <Pine.GSO.4.56.0309251605530.284@eos> (raw)

Andre Bleau wrote:

>Brian Ford wrote:
>
>>I am glad that the ambiguity in gcc include search paths has been
>>resolved.  However, the OpenGL includes in w32api/GL are from Mesa, and
>>are thus more complete and up-to-date.
>
>Well, I hope that Earnie Boyd, maintainer for the w32api package, will
>join this discussion.
>
I hope so too.

>>What are the long term plans, if any, for reconciling these two
>>implementations?  It seems silly to have two copies of esstially the
>>same thing.
>
>I agree. Maybe it's time to break-up the OpenGL package into several
>parts:
>
To be honest, I don't really care how it gets packaged.  But I will be
glad to help if it attains an end.

>API to native Windows OpenGL implementation, accessible through M$'s
>opengl32.dll could be in the w32api package, as it is now. The GL include
>directory could be in /usr/include/w32api exclusively, without need for
>another in /usr/include.
>
That sounds reasonable.  Would you make a sym link from /usr/include/GL to
/usr/include/w32api/GL then?

>API to GLUT could be in a GLUT package, while the GLUT32.dll could be in
>a GLUT-runtime package.
>
They are so small that it seems overkill to break them up.

>API to GLUI and GLUIX could be in a GLUI package. There is no dll for
>both of these. They are C++ static libraries that would need to be repackaged
>each time that the C++ interface changes, as has been the case between
>g++ 2.95, 3.2, and now 3.3. I hope that this interface will remain stable for
>a while now.
>
I have never used these.  I understand your pain with C++ ABIs, though.

>>Are there any plans to update Cygwin's OpenGL headers to include 1.3 or
>>1.4 support?  Be it via using the w32api Mesa ones, or by other means.
>
>Let that be clear: headers alone will not provide access to OpenGL 1.2+
>functionnality. You will still have to program the loading of OpenGL
>extensions, if they are available from the graphic card driver. Maybe
>something like extgl (http://www.levp.de/3d/index.html) could be packaged
>for Cygwin to make that easier.
>
Sure, I know headers don't magically create functionality.  They just
allow access to that which already exists.  But, most vendors these days
(ATI & Nvidia) provide 1.3 or 1.4 functionality.  It would be nice to use
it without jumping through hoops.

The way you added support for OpenGL 1.2 via a define would be fine.  BTW,
what version does Microsoft ship with XP?  Is it still 1.1?  I don't have
a "clean" XP install to check.

As for the extension loading library, it's a don't care for me.

>>Are there any plans to update Cygwin's glut to the current
>>Nate Robins version?
>
>
>Could be done; however, it is nearly 2 years old and provides no new
>functionnality. It is sad, but GLUT is dead. There is a project in
>sourceforge for a replacement: freeglut
>(http://freeglut.sourceforge.net/fg/), but is still IMO too buggy for
>prime time. However, it is actively developped and debugged, and a stable
>release is supposed to come "real soon".
>
Yeah, I know regular glut is dead.  I have looked at freeglut before
and it looks interesting, but I will take your word for it that it is
still too buggy.

There have been significant changes since the glut version in Cygwin
(3.7.3 Sept. 27, `00 now 3.7.6 Nov. 8, `01).  I'm not entirely sure if
they are benneficial.  I've listed them below for anyone that's
interested.  Maybe we should just wait for freeglut to stabilize, though.

    (Nov 8, '01)
    x  Changed fullscreen mode from TOPMOST back to simply TOP, since
       (it turns out) many people use windows atop a GLUT window.

    (Nov 8, '01)
    x  Added code to prevent CPU spiking when no idle function is
       registered.  Otherwise, if an idle function is registered, spike
       CPU so that the idle function gets all the attention it needs and
       if this is a problem on the program side, the user can stick a
       sleep() in their idle function.  I believe that this strikes the
       best balance betweeen GLUT being fast, and also being "nice" to
       other processes.  Thanks to James Wright for reporting this bug.

    (Nov 8, '01)
    x  Fixed bug in motion callback handler which wasn't setting the
       current window, so multiple window apps (e.g., any GLUI app)
       wouldn't get the callback correctly.

    (Oct 4, '01)
    x  Fixed bug in glutEnterGameMode() that caused new windows to not
       be in "fullscreen" mode, so they got window decorations.

    (Oct 3, '01)
    x  Fixed bug in getVisualInfoFromString(): visuals not reloaded on
       display mode change.  Reload visuals each time they are queried.
       This fixes a problem with Win32 because the list of availabe Visuals
       (Pixelformats) changes after a change in displaymode. The problem
       occurs when switching to gamemode and back.  Thanks to Michael
       Wimmer for pointing this out & providing the fix.

    (Oct 3, '01)
    x  Fixed bug in XGetVisualInfo(): pixelformats enumerated incorrectly.
       Passing 0 as a pixelformat index to DescribePixelFormat gives
       unpredictible results (e.g., this fails on the Voodoo opengl32.dll
       and always reports 0 as the last available pixelformat index).
       Thanks to Michael Wimmer for pointing this out & providing the fix.

    (Oct 3, '01)
    x  Fixed bug in glXGetConfig(): pixelformats enumerated incorrectly.
       The test was OpenGL support OR draw to window, but should be AND.
       Thanks to Michael Wimmer for pointing this out & providing the fix.

    (Sep 28, '01)
    x  Fixed glutChangeToSubMenu()/glutChangeToMenuEntry() bug where if you
       went back and forth between a submenu and a plain entry, the submenu
       wouldn't be updated properly.

   (Sep 28, '01)
    x  glutSetIconTitle() is now a nop.

    (Sep 28, '01)
    x  glutFullScreen() now sets the window as TOPMOST, therefore, the
    window will always be on top (this essentially disables alt-tabbing).

    (Sep 28, '01)
    x  The key repeat ignore flag is now honored correctly.

    (Sep 28, '01)
    x  Key presses are now reported more accurately and fully, in
       particular, modified up events (i.e., SHIFT-2) are now reported
       correctly.

    (Sep 28, '01)
    x  Subwindows nested arbitrarily deep get their keyboard callbacks
       correctly now.

    (Sep 28, '01)
    x  Major rewrite of the window procedure code to clean it up and make
       way for other bug fixes.

    (Sep 23, '01)
    x  Fixed noof example program to use RAND_MAX instead of assumed
       max of 2147483647.0.  (Now it looks _much_ better!)

    (Sep 22, '01)
    x  Fixed sunlight example program.  globe.raw data file was corrupt,
       added a new one.

    (Sep 22, '01)
    x  Fixed zcomposite example program to print message if overlay
       support is not found (instead of crashing).

    (Jan 22, '01)
    x  Fixed malloc(0) bug in Win32 version of XGetVisualInfo.  Thanks
       to Kekoa Proudfoot for bringing this to my attention.

    (Dec 12, '00)
    x  Added data files for the advanced & advanced97 programs.

    (Dec 12, '00)
    x  Added Developer Studio 6 project and workspace files for pretty
       much everything (the stuff left out was usually unix specific).

    (Dec 7, '00)
    x  Fixed several compilation problems & corrupt files.  Thanks to
       Alexander Stohr for bringing these to my attention and providing
       detailed fixes.

    (Dec 6, '00)
    x  Fixed compiler support for lcc.  Thanks to Gordon for bringing
       this to my attention and debugging fixes.

    (Nov 8, '00)
    x  Fixed submenu problem (sometimes the menu callback was not
       called for valid items).  Thanks to Michael Keeley.

    (Oct 16, '00)
    x  Corrected corrupt duck.iv file.  Thanks to Jon Willeke for finding
       this problem.

-- 
Brian Ford
Senior Realtime Software Engineer
VITAL - Visual Simulation Systems
FlightSafety International
Phone: 314-551-8460
Fax:   314-551-8444

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

             reply	other threads:[~2003-09-25 22:25 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-09-26  0:22 Brian Ford [this message]
2003-09-30 23:34 Andre Bleau
2003-10-01 15:36 Brian Ford

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.GSO.4.56.0309251605530.284@eos \
    --to=ford@vss.fsi.com \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).