Hello,

sorry for taking so long to answer, it's currently silly season ;)

On Mon, 2016-09-26 at 11:18 +0000, Johannes Brunen wrote:
> Hello,
> 
> I have just discovered that one of my contributions (OSGGLEXT.h, 
> OSGGLFuncProtos.h) which Carsten has pushed with commit 53e16c to the master 
> tree has been 'reverted' by Gerrit with commit 0177b7. I did  made the 
> changes in order to stay as close as possible to the official glext.h and 
> wglext.h files. The commit of Gerrit has the following log message:
> 
> "changed: some clean-up, check if most of these files can be auto-generated"
> 
> Gerrit, did that mean, that you regularily update these files from the 
> official header files with some code generation machinery? I would be fine 
> with that if I could do the same on my local setup. Otherwise I think that it 
> is easier the way I did choose.
> 
> What is your position?

currently I pull on demand and split the defines and functions. The
reason behind that is that on Linux (where I spend most of my time) I
can directly build against OpenGL 4.x libraries. OSGGLFuncProtos.h
is build in a way that I can switch between the window based extension
mechanism and direct linking. 

What I usually do if I need newer functionality which is not
inside either OSGGLExt.h or OSGGLFuncProtos.h depends on the system
I'm on. On Linux I just define GL_GLEXT_PROTOTYPES before anything else
and am done with it. On Windows I use glew (set 
OSG_ENABLE_GL_INCLUDE_GLEW to TRUE and make sure glew is available).
The only trick is that one has to intialize glew at the right time.

Once I'm done testing I pull the required things over to OSGGLExt and
OSGGLFuncProtos.

The problem with just dumping things in there was the following:

In file included
from 
/home/gerrit/Projects/OpenSG/svn/OpenSG/Source/Base/Base/OSGGLDefineMapper.h:47:0,

from 
/home/gerrit/Projects/OpenSG/svn/OpenSG/Source/Base/Base/OSGGLDefineMapper.cpp:45:
/home/gerrit/Projects/OpenSG/svn/OpenSG/Source/Base/Base/OSGGLEXT.h:1523:18: 
error: conflicting declaration ‘typedef uint64_t GLuint64EXT’
 typedef uint64_t GLuint64EXT;
                  ^
In file included from /usr/include/GL/gl.h:1630:0,

from /home/gerrit/Projects/OpenSG/svn/OpenSG/Source/Base/Base/OSGGL.h:71,

from 
/home/gerrit/Projects/OpenSG/svn/OpenSG/Source/Base/Base/OSGBaseTypeTraits.h:49,

from 
/home/gerrit/Projects/OpenSG/svn/OpenSG/Source/Base/Base/OSGBaseTypes.h:837,

from 
/home/gerrit/Projects/OpenSG/svn/OpenSG/Source/Base/Base/OSGSingletonHolder.h:45,

from 
/home/gerrit/Projects/OpenSG/svn/OpenSG/Source/Base/Base/OSGGLDefineMapper.h:46,

from 
/home/gerrit/Projects/OpenSG/svn/OpenSG/Source/Base/Base/OSGGLDefineMapper.cpp:45:
/usr/include/GL/glext.h:3901:28: note: previous declaration as ‘typedef
long long unsigned int GLuint64EXT’
 typedef unsigned long long GLuint64EXT;
                            ^
In file included
from 
/home/gerrit/Projects/OpenSG/svn/OpenSG/Source/Base/Base/OSGGLDefineMapper.h:47:0,

from 
/home/gerrit/Projects/OpenSG/svn/OpenSG/Source/Base/Base/OSGGLDefineMapper.cpp:45:
/home/gerrit/Projects/OpenSG/svn/OpenSG/Source/Base/Base/OSGGLEXT.h:2998:17: 
error: conflicting declaration ‘typedef int64_t GLint64EXT’
 typedef int64_t GLint64EXT;
                 ^
In file included from /usr/include/GL/gl.h:1630:0,

from /home/gerrit/Projects/OpenSG/svn/OpenSG/Source/Base/Base/OSGGL.h:71,

from 
/home/gerrit/Projects/OpenSG/svn/OpenSG/Source/Base/Base/OSGBaseTypeTraits.h:49,

from 
/home/gerrit/Projects/OpenSG/svn/OpenSG/Source/Base/Base/OSGBaseTypes.h:837,

from 
/home/gerrit/Projects/OpenSG/svn/OpenSG/Source/Base/Base/OSGSingletonHolder.h:45,

from 
/home/gerrit/Projects/OpenSG/svn/OpenSG/Source/Base/Base/OSGGLDefineMapper.h:46,

from 
/home/gerrit/Projects/OpenSG/svn/OpenSG/Source/Base/Base/OSGGLDefineMapper.cpp:45:
/usr/include/GL/glext.h:3900:26: note: previous declaration as ‘typedef
long long int GLint64EXT’
 typedef signed long long GLint64EXT;

that's how I bumped into it and that's why I like it a little bit more
controlled, and also more nicely formatted ;)

kind regards
  gerrit



-- 

Gerrit Voß
盖瑞客
---------------------------------------------------
Fraunhofer IDM @ NTU
南洋理工大学, Nanyang Technological University, (NTU)
新加坡,      Singapore
--------------------------------------------------

If we communicate everything we ever think, speech 
just becomes static. And all of us become bores.

J. Clarkson



------------------------------------------------------------------------------
_______________________________________________
Opensg-users mailing list
Opensg-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to