don't pretend to understand most of this post is only my daily notes..
GLUT is old, no supersampled framebuffer wgl and glx extensions i.e. without using aa FBO's..
is 2001 src for win32..
from FreGLUT web:
Why?I have coded some path for Win32 aa multisampled framebuffer..
The original GLUT library seems to have been abandoned with the most recent version (3.7) dating back to August 1998. It's license does not allow anyone to distribute modified the library code. This would be OK, if not for the fact that GLUT is getting old and really needs improvement. Also, GLUT's license is incompatible with some software distributions (eg Xfree86).
I think not works if you want 3.0 contexts (you have to create special)..
I think to have patched already also.. I will try to find this megapatched GLUT :-)
Now seems 3.2 requires new functions (core profile only?) so I will patch also if required (all my patches are Windows stuff..)
I pretended to patch for OpenCL OpenGL interop before as it was said to require OpenGL enable compute context but now seems it's no required..
I wanted more fixes.. (I have to think what?..)
I will post it..
Related I also added runtime hotpatches for OpenGL libraries in Windows for having NV affinity extension (altough it will not add any perf for Nvidia multigpus).. have to add ati emulation (that's efficient if I use AMD equivalent extension)..
would be good for Equalizer that uses it and 5970 say.. Also what can I do for CompleX to run? I will see.. remember now Win 32 and 64 but says XP (it's really needed or runs in Seven)
I also added runtime hotpatches for OpenGL libraries in Windows for reporting QB stereo emulation..
Now I must add full patch for 3D Vision sample I have..
seems now projects are switching to FreeGLUT and MesaGLUT among others..
past other have tried:
crazy stuff (dead):
*GLUX of Ogre creators.. (promised to bring ogl 3.0 and aa for example.. it's dead.. I don't know how it is..
http://code.google.com/p/glux/updates/list
*OpenGL Window Framework
http://sourceforge.net/projects/oglwfw/
An Alternative C++ Windowing Framework for OpenGL which initalises extensions (via GLee) and allows easy access to context features such as FSAA and the Accumulation buffer
*http://openglut.sourceforge.net/
Some changes since forking from freeglut include:
* Improved full-screen support
* Improved joystick support
* Improved Cygwin and Mingw32 support
* Improved bitmap font rendering
* Improved ANSI-C compliance
* Documentation refinements
* Experimental offscreen rendering
So using GLUT, you require aa use FBO aa..
you require OGL 3.x swith to FreeGLUT, MesaGLUT, or SDL (in trunk),
QT(?),..
MesaGLUT
Mark Kilgard's GLUT, easily compiled and used with Mesa. Plus, other implementation of GLUT for DOS, OS/2, BeOS, etc.
MesaGLUT: Right now MESA 7.7-> MesaGLUT 7.7rc2
ftp://ftp.freedesktop.org/pub/mesa/7.7/
latest :ftp://ftp.freedesktop.org/pub/mesa/beta/
FreeGLUT 2.6.0 (relased 27 nov 2009)
(Windows
binary)adds vs glut (seems all I want):
I want patch for Windows 7 Touch APIs as QT has..
MultiPointer Linux patch support (Svn 832)
*Binary compatible with GLUT dlls's:
Added the ugly ATEXIT_HACK from GLUT 3.7, making freeglut binary compatible with the GLUT DLLs out in the wild.
Use our module definition file, so we get undecorated names in the resulting DLL, just like the classic GLUT DLL from Nate Robins.
* Added support for multisampling: The number of samples per pixel to use
when GLUT_MULTISAMPLE is specified in glutInitDisplayMode() can be set via
glutSetOption() with parameter GLUT_MULTISAMPLE now. glutGet() with the
same token retrieves that value. The possible number of samples per pixels
can be queried via the new API entry
int *glutGetModeValues( GLenum mode, int *size );
with mode GLUT_MULTISAMPLE. (glutGetModeValues() currently only works for
X11)
Note:
Set the default number of samples per pixel to 4 and actually use the value set
with glutSetOption(GLUT_MULTISAMPLE,...) in Windows code.
* Added support for versioned (i.e. 3.0) OpenGL contexts: New API entries
void glutInitContextVersion( int majorVersion, int minorVersion );
void glutInitContextFlags( int flags );
with related new constants GLUT_DEBUG and GLUT_FORWARD_COMPATIBLE for the latter API entry. Added new constants GLUT_INIT_MAJOR_VERSION, GLUT_INIT_MINOR_VERSION and GLUT_INIT_FLAGS for glutGet().
*Added support for sRGB framebuffers via the GLX_ARB_framebuffer_sRGB / WGL_ARB_framebuffer_sRGB extensions. Added support for context profiles via the new parts of the GLX_ARB_create_context / WGL_ARB_create_context extensions.
*Visual Studio 2008 2 files one for the normal DLL build, and one for the static build.
* Added deprecated, but working Joystick API.
* Added new constant GLUT_INIT_STATE for glutGet() to check if freeglut is already initialized.
* Added new API entry for full-screen mode
void glutFullScreenToggle( void );
with a related new constant GLUT_FULL_SCREEN for glutGet().
* Added new API entry to de-initialize freeglut:
void glutExit( void );
* Added more special keys: GLUT_KEY_NUM_LOCK, GLUT_KEY_BEGIN GLUT_KEY_DELETE
* Added support for windows without captions and/or borders via two new constants GLUT_CAPTIONLESS and GLUT_BORDERLESS for glutInitDisplayMode (currently works for Windows only).
* Added new constant GLUT_AUX for glutSetOption() to set the number of auxiliary buffers. The possible number of auxiliary buffers can be queried via glutGetModeValues with mode GLUT_AUX.
Has example fully OpenGL-3.1-compliant.
For using GLUT and FreeGLut Mingw GCC:
Using GLUT with MINGW
Also how to bring in auto load of extensions..
GLEW 1.5.1 is old..
glee 5.4 is 3.0 capable no more..
glew
====
seems every year some stuff..
so some stuff in SVN since last release:
briefly 3.0 detection fixes, 3.1,3.2 support and Snowleopard fixes:
gl.h for SnowLeopard uses __X_GL_H rather than __gl_h_ or __GL_H__
binaries from the object files instead of sources
Add GL 3.2 Core support
Add support for GLint64, GLuint64 and GLsync
preliminary spec file for GL 3.1
Workaround Mesa GLUT incompatibility.
Ensure OpenGL 3.0 is properly detected.
Use uname instead of arch since Debian/Ubunutu/etc do not have arch
Some bug fixes..
glee
====
in svn you have vc2008 projects
0 comments:
Post a Comment