I remember I struggled with a similar situation back in 2008. It was a commercial project in C++ and the client had the exact same requirement.

I ended up solving the issue using Qt, which we were already using anyway. I believe the class that did the trick was QGLPixelBuffer, but don't take my word for it, since I've forgotten the details since then.

If using Qt (PySide/PyQt) is an option for you, I would recommend you have a look at it.

Good luck,

2012/1/6 Yuan Xu <xuyuan.cn@gmail.com>
Hi Ian,

Thanks for your reply.

My problem is how to set up OpenGL context without X, because the target application will run on a headless Linux server, and generating pictures without window.

I think if I have PyOpenGL use Mesa only, then my problem can be solved.

On Fri, Jan 6, 2012 at 12:41 AM, Ian Mallett <geometrian@gmail.com> wrote:
On Thu, Jan 5, 2012 at 9:31 AM, Yuan Xu <xuyuan.cn@gmail.com> wrote:
Hi all,

I am trying to use PyOpenGL for off-screen rendering (generating pictures), AFAIK, OSMesa is the easy (only?) way for this.

I tried to access OSMesa from python via ctypes, the functions in OSMesa can be called, but PyOpenGL can not use OSMesaContext, I guess the problem is my PyOpenGL (from ubuntu rep) was not build on mesa.

So, my question is how to build PyOpenGL on OSMesa, since I didn't find any instruction for configuring building.

Thanks in advance!

Best Regards,

Xu, Yuan
I'm afraid I can't help with the actual question, but I'd like to remind you that using FBOs for offscren rendering is easier and faster (although you do need an OpenGL context to set it up).

Best Regards,

Xu, Yuan

Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
infrastructure or vast IT resources to deliver seamless, secure access to
virtual desktops. With this all-in-one solution, easily deploy virtual
desktops for less than the cost of PCs and save 60% on VDI infrastructure
costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
PyOpenGL Homepage
PyOpenGL-Users mailing list