octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gl-render.cc: framework OpenGL on MacOSX


From: Ben Abbott
Subject: Re: gl-render.cc: framework OpenGL on MacOSX
Date: Fri, 30 Jan 2009 19:26:39 -0500


On Jan 30, 2009, at 6:09 PM, Thomas Treichl wrote:

Hi,

I'm currently trying to compile gl-render.cc against Mac's OpenGL framework. If I compile against Mac's "X11/GL" then everything is just fine, but with "framework OpenGL" I have got problems. I already was able to do a hack for this:

gl-render.cc: In member function 'virtual void opengl_renderer::draw(const
axes::properties&)':
gl-render.cc:595: error: invalid conversion from 'int*' to 'GLint*'
gl-render.cc:595: error:   initializing argument 2 of 'void
glGetIntegerv(GLenum, GLint*)'
gl-render.cc: In member function 'virtual void
opengl_renderer::init_marker(const std::string&, double, float)':
gl-render.cc:2634: error: invalid conversion from 'int*' to 'GLint*'
gl-render.cc:2634: error:   initializing argument 2 of 'void
glGetIntegerv(GLenum, GLint*)'

but I'm not able to find out what the compiler wants from me for this:

gl-render.cc: In member function 'virtual void opengl_tesselator::init()': gl-render.cc:273: error: invalid conversion from 'void (*)()' to 'GLvoid (*)(...)'
gl-render.cc:273: error:   initializing argument 3 of 'void
gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))'
gl-render.cc:275: error: invalid conversion from 'void (*)()' to 'GLvoid (*)(...)'
gl-render.cc:275: error:   initializing argument 3 of 'void
gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))'
gl-render.cc:277: error: invalid conversion from 'void (*)()' to 'GLvoid (*)(...)'
gl-render.cc:277: error:   initializing argument 3 of 'void
gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))'
gl-render.cc:279: error: invalid conversion from 'void (*)()' to 'GLvoid (*)(...)'
gl-render.cc:279: error:   initializing argument 3 of 'void
gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))'
gl-render.cc:281: error: invalid conversion from 'void (*)()' to 'GLvoid (*)(...)'
gl-render.cc:281: error:   initializing argument 3 of 'void
gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))'
gl-render.cc:283: error: invalid conversion from 'void (*)()' to 'GLvoid (*)(...)'
gl-render.cc:283: error:   initializing argument 3 of 'void
gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))'

Looking inside the OpenGL framework I get:

bash$ grep -re "gluTessCallback" /System/Library/Frameworks/ OpenGL.framework/*
/System/Library/Frameworks/OpenGL.framework/Headers/glu.h:extern void
gluTessCallback (GLUtesselator* tess, GLenum which, GLvoid (*CallBackFunc)());

Looking inside X11R6/GL I get:

bash$ grep -re "gluTessCallback" /usr/X11R6/include/GL/*.h
/usr/X11R6/include/GL/glu.h:extern void gluTessCallback (GLUtesselator* tess,
GLenum which, _GLUfuncptr CallBackFunc);
bash$ grep -re "_GLUfuncptr" /usr/X11R6/include/GL/*.h
/usr/X11R6/include/GL/glu.h:typedef GLvoid (*_GLUfuncptr)();
/usr/X11R6/include/GL/glu.h:typedef GLvoid (*_GLUfuncptr)(GLvoid);

Can somebody please send me a suggestion what I should change?

The second question is: Are there any other platforms that have a header "OpenGL/gl.h" instead of "GL/gl.h" or do we just have this "OpenGL/gl.h" on Mac? I'm asking this question because I'd like to adjust the test procedure OCTAVE_OPENGL in aclocal.m4.

Best regards,

 Thomas

I don't get those errors, and my config.log has

#define HAVE_OPENGL_GL_H 1
#define HAVE_OPENGL_GLU_H 1
#define HAVE_OPENGL 1

The configure options used (from config.log) are below

./configure --prefix=/sw FLIBS=/sw/lib/gcc4.3/lib/libgfortran.dylib F77=/sw/bin/gfortran --infodir=${prefix}/s hare/info --mandir=$ {prefix}/share/man --libexecdir=${prefix}/lib -enable-shared -enable- dl --disable-static --wit hout-mpi --with-hdf5 --with-fftw CPPFLAGS=-g -I/sw/include -FOpenGL -I/sw/include/freetype2 FFLAGS=-g - ff2c LDFLA GS=-L/sw/lib/fltk-aqua/lib -L/sw/lib -lfltk_gl - framework AGL -framework OpenGL -lfltk -lpthread -framework Carbon --with-lapack=-Wl,-framework,Accelerate,-dylib_file,/ System/Library/Frameworks/Accelerate.framework/Versions/A/Fr ameworks/vecLib.framework/Versions/A/libLAPACK.dylib:/System/Library/ Frameworks/Accelerate.framework/Versions/A/Fr ameworks/ vecLib.framework/Versions/A/libLAPACK.dylib --with-blas=-Wl,- framework,Accelerate,-dylib_file,/System/Lib rary/Frameworks/ Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/ libBLAS.dylib:/System/Libra ry/Frameworks/Accelerate.framework/ Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib

Although I don't get errors, the new backend isn't functional for me either.

Ben



reply via email to

[Prev in Thread] Current Thread [Next in Thread]