Thread: [PyOpenGL-Users] OSMesa in PyOpenGL?
Brought to you by:
mcfletch
From: Łukasz R. <lr...@st...> - 2010-03-25 20:57:39
|
Dear list, My goal is to render OpenGL scene to image file, without a need to initiate window. Mesa 3d provide such functionality through OSMesa API (http://www.mesa3d.org/osmesa.html). However, I would like to do this using Python. As far as I can tell after reading documentation and looking into PyOpenGL source code, this extension is not available. How difficult would it be to add OSMesa bindings to PyopenGL? I could try to do it myself, just need some tips what steps are necessary. Is adding a wrapper as simple as describing function and pointing where it is? |
From: Mike C. F. <mcf...@vr...> - 2010-03-26 15:22:07
Attachments:
osmesa.py
|
Łukasz Różycki wrote: > Dear list, > > My goal is to render OpenGL scene to image file, without a need to > initiate window. Mesa 3d provide such functionality through OSMesa API > (http://www.mesa3d.org/osmesa.html). However, I would like to do this > using Python. As far as I can tell after reading documentation and > looking into PyOpenGL source code, this extension is not available. > > How difficult would it be to add OSMesa bindings to PyopenGL? I could > try to do it myself, just need some tips what steps are necessary. Is > adding a wrapper as simple as describing function and pointing where > it is? > Attached is an auto-generated wrapper for the module. I don't have any test-code to exercise it, so expect that it is going to break :) . If you have some example/test code that uses it, I can look at making it part of the PyOpenGL distribution (unlikely) or distributing it as a separate module (more likely). The mechanism doesn't allow for hardware-accelerated rendering, so I don't expect that there will be all that many users. HTH, Mike -- ________________________________________________ Mike C. Fletcher Designer, VR Plumber, Coder http://www.vrplumber.com http://blog.vrplumber.com |
From: Łukasz R. <lr...@st...> - 2010-03-26 21:52:01
Attachments:
osdemos.tar.bz2
|
2010/3/26 Mike C. Fletcher <mcf...@vr...>: > ... > If you have some example/test code that uses it, I can look at making it > part of the PyOpenGL distribution (unlikely) or distributing it as a > separate module (more likely). > ... There are some examples shipped with MesaDemos package, located at progs/osdemos. I attached them. Thanks for response and let me know if I can do something to help. Łukasz |
From: Mike C. F. <mcf...@vr...> - 2010-03-26 18:24:17
|
Giuliano Vilela wrote: ... > > Attached is an auto-generated wrapper for the module. I don't > have any > test-code to exercise it, so expect that it is going to break :) . If > you have some example/test code that uses it, I can look at making it > part of the PyOpenGL distribution (unlikely) or distributing it as a > separate module (more likely). The mechanism doesn't allow for > hardware-accelerated rendering, so I don't expect that there will > be all > that many users. > > > Is there another way to achieve off screen hardware accelerated > rendering with OpenGL? IIRC these are the currently-available methods for off-screen rendering (note, some may require a primary context, I don't do headless rendering myself): * Pixel Buffers (pbuffers) * Win32 has render-to-device-independent bitmaps and GLX has render-to-GLX-pixmaps (likely OSX has something similar) * Aux buffers (have to confirm they don't require a visible primary context) * FBOs (have to confirm that these don't require a visible primary context) The OSMesa code definitely has a role, particularly where you don't want to deal with hardware/platform issues, but the trade-off is that it can't access the hardware/platform mechanisms. HTH, Mike -- ________________________________________________ Mike C. Fletcher Designer, VR Plumber, Coder http://www.vrplumber.com http://blog.vrplumber.com |
From: Alejandro S. <as...@gm...> - 2010-03-26 18:33:08
|
On Fri, Mar 26, 2010 at 3:24 PM, Mike C. Fletcher <mcf...@vr...>wrote: > > Is there another way to achieve off screen hardware accelerated > > rendering with OpenGL? > IIRC these are the currently-available methods for off-screen rendering > (note, some may require a primary context, I don't do headless rendering > myself): > > * Pixel Buffers (pbuffers) > * Win32 has render-to-device-independent bitmaps and GLX has > render-to-GLX-pixmaps (likely OSX has something similar) > * Aux buffers (have to confirm they don't require a visible primary > context) > * FBOs (have to confirm that these don't require a visible primary > context) > I remember I used to do offscreen rendering (without having to open a window) using Qt 4.3 from C++. What I would do was to create a PixelBuffer instance (iirc) and set that as the current context. Once set up, I would create the QApplication and have it loop forever, with a timer going off every few seconds, calling the rendering code. Hope this helps. Alejandro.- -- Alejandro Segovia Azapian Director Algorithmia http://web.algorithmia.net > > -- > ________________________________________________ > Mike C. Fletcher > Designer, VR Plumber, Coder > http://www.vrplumber.com > http://blog.vrplumber.com > > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > PyOpenGL Homepage > http://pyopengl.sourceforge.net > _______________________________________________ > PyOpenGL-Users mailing list > PyO...@li... > https://lists.sourceforge.net/lists/listinfo/pyopengl-users > |