From: Micah R. <mi...@sa...> - 2007-01-03 02:26:39
|
Hello, There is an inconsistency between the way Context sharing functions between Windows and Linux. Under Linux when the context is shared, the view point and all attributes of the context are shared. Under Windows, only the display lists and textures are shared (at least with original Glut, I don't recall if I confirmed this using freeglut or not). I realize that this is probably convention now under both OSs however I require the Window's style convention under Linux. I was able to achieve this by changing freeglut_window.c lines: window->Window.Context = glXGetCurrentContext( ); if( ! window->Window.Context ) window->Window.Context = glXCreateContext( fgDisplay.Display, window->Window.VisualInfo, NULL, ( fgState.DirectContext != GLUT_FORCE_INDIRECT_CONTEXT ) ); to: /* window->Window.Context = glXGetCurrentContext( ); if( ! window->Window.Context ) */ window->Window.Context = glXCreateContext( fgDisplay.Display, window->Window.VisualInfo, glXGetCurrentContext( ), ( fgState.DirectContext != GLUT_FORCE_INDIRECT_CONTEXT ) ); This now breaks the Linux convention, and I am not wanting you to adopt the code above. My question is should a new Context sharing flag be used in addition to GLUT_USE_CURRENT_CONTEXT, possibly GLUT_USE_SHAREDLISTS to mean the Window's style (i.e. only share lists and textures) for sharing contexts and GLUT_USE_CURRENT_CONTEXT to mean the Linux's style (i.e. full shared context)? I am willing to do the coding, but only if it is pretty certain that it will get incorporated into the standard release. Basically I don't want to have to provide my own hacked version of freeglut. Thanks, Micah |