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
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users