octave-bug-tracker
[Top][All Lists]
Advanced

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

[Octave-bug-tracker] [bug #44292] Frequent crashes when printing to eps


From: Dan Sebald
Subject: [Octave-bug-tracker] [bug #44292] Frequent crashes when printing to eps on Windows platform
Date: Mon, 02 Mar 2015 09:14:21 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:18.0) Gecko/20100101 Firefox/18.0 SeaMonkey/2.15

Follow-up Comment #21, bug #44292 (project octave):

I'm having very little success with this OpenGL/Mesa code.  If I understand
correctly, OSMesa is the hunk of software that creates a context for which the
OpenGL routines can be used.  Without reading too much, I gather that the
context is a memory buffer and various attributes.  After the context is
created, the OpenGL routines such as:


glGetIntegerv(GL_VIEWPORT, viewport);
glGetIntegerv (GL_DEPTH_BITS, &z);
etc.


may be run to access/utilize the OpenGl engine.  OK, and then this extension
of sorts, GL2PS, allows one to use the OpenGL graphics engine to create
PostScript output files.  That is, these


gl2psBeginPage();
etc.


functions can be thought of as just another glXYZ function.

However, although the context creation works fine:


  OSMesaContext ctx = OSMesaCreateContextExt (OSMESA_RGBA, 16, 0, 0, NULL);
  // Bind the buffer to the context and make it current
  if (! OSMesaMakeCurrent (ctx, buffer, GL_UNSIGNED_BYTE, Width, Height))


Every OpenGL routine after that immediately seg-faults.  I can change the
functions around, comment some out.  I'm wondering if I'm missing something:

https://www.opengl.org/wiki/Getting_Started#Getting_Functions

"
If you are using C/C++, read on.

In order to use OpenGL, you must get OpenGL API functions. For most libraries
you are familiar with, you simply #include a header file, make sure a library
is linked into your project or makefile, and it all works. OpenGL doesn't work
that way.

For reasons that are ultimately irrelevant to this discussion, you must
manually load functions via a platform-specific API call. This boilerplate
work is done with various OpenGL loading libraries; these make this process
smooth. You are strongly advised to use one.

If you want to do it manually however, there is a guide as to how to load
functions manually. You still should use an extension loader.
"

So how are the functions being "loaded"?  Is it by some library that is being
included with the project?  Is there some function call that needs to be done
to make all the OpenGL functions operate correctly?

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?44292>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

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