gl-render.cc: framework OpenGL on MacOSX

Ben Abbott bpabbott at mac.com
Sat Jan 31 10:00:00 CST 2009


On Jan 31, 2009, at 3:50 AM, Thomas Treichl wrote:

> Ben Abbott schrieb:
>> 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
>
> Hi Ben,
>
> can you please run this and send the output back. I expect we also  
> have a API change between 10.4.11 and 10.5.x:
>
> bash$ grep -re "gluTessCallback" \
> /System/Library/Frameworks/OpenGL.framework/Versions/Current/Headers/ 
> glu.h
>
> and this one please
>
> bash$ grep -re "glGetIntegerv" \
> /System/Library/Frameworks/OpenGL.framework/Versions/Current/Headers/ 
> gl.h

bens-macbook:~ bpabbott$  grep -re "gluTessCallback" \
 > /System/Library/Frameworks/OpenGL.framework/Versions/Current/ 
Headers/glu.h
extern void gluTessCallback (GLUtesselator* tess, GLenum which, GLvoid  
(*CallBackFunc)());
bens-macbook:~ bpabbott$ grep -re "glGetIntegerv" \
 > /System/Library/Frameworks/OpenGL.framework/Versions/Current/ 
Headers/gl.h
typedef void (* glGetIntegervProcPtr) (GLenum pname, GLint *params);
extern void glGetIntegerv (GLenum pname, GLint *params);

>> Although I don't get errors, the new backend isn't functional for  
>> me either.
>
> That is not quite correct. It does work very well - what does not  
> work is resizing the figure window and therefore the callback if the  
> figure window should be resized. I spent some time some while ago to  
> find out what is going wrong, but I've not been successful - maybe  
> somebody else on a Mac can have a look at this (but I still expect  
> it has nothing to do with the sources Octave - I expect the problem  
> is in the sources of fltk).
>
> Meanwhile you can change the function "default_size" in src/DLD- 
> functions/fltk_backend.cc to this:
>
>  void default_size (int& x, int& y, int& w, int& h)
>  {
>    x = 0;
>    y = 0;
>    w = 560;
>    h = 440;
>  }
>
> then your drawings should be good (mouse resizing window still  
> without functionality). Am I right or wrong?

My problems are more complicated. I get a window, but rather than  
containing the proper image/plot it contains pieces of other things on  
my screen (related to Fink I think). For the time being, I have no  
real interest in fixing that particular problem. Instead I'm looking  
at what can be done to improve the gnuplot backend and improving lower  
level support for the backend (property related stuff and soon  
listeners).

Ben






More information about the Octave-maintainers mailing list