3 <TITLE>Off-screen Rendering
</TITLE>
5 <BODY text=
"#000000" bgcolor=
"#55bbff" link=
"#111188">
7 <H1>Off-screen Rendering
</H1>
11 Mesa
1.2.4 introduced off-screen rendering, a facility for generating
12 3-D imagery without having to open a window on your display. Mesa's
13 simple off-screen rendering interface is completely operating system
14 and window system independent so programs which use off-screen
15 rendering should be very portable. This feature effectively
16 enables you to use Mesa as an off-line, batch-oriented renderer.
19 The
"OSMesa" API provides
3 functions for making off-screen
20 renderings: OSMesaCreateContext(), OSMesaMakeCurrent(), and
21 OSMesaDestroyContext(). See the Mesa/include/GL/osmesa.h header for
22 more information. See the demos/osdemo.c file for an example program.
23 There is no facility for writing images to files. That's up to you.
26 If you want to generate large images (larger than
1280x1024) you'll
27 have to edit the src/config.h file to change MAX_WIDTH and MAX_HEIGHT
28 then recompile Mesa. Image size should only be limited by available
33 <H2>Deep color channels
</H2>
36 For some applications
8-bit color channels don't have sufficient
37 accuracy (film and IBR, for example). If you're in this situation
38 you'll be happy to know that Mesa supports
16-bit and
32-bit color
39 channels through the OSMesa interface. When using
16-bit channels,
40 channels are GLushorts and RGBA pixels occupy
8 bytes. When using
32-bit
41 channels, channels are GLfloats and RGBA pixels occupy
16 bytes.
44 To build Mesa/OSMesa with
16-bit color channels:
57 You'll wind up with a library named libOSMesa16.so or libOSMesa32.so.
61 If you need to compile on a non-Linux platform, copy Mesa/configs/linux-osmesa16
62 to a new config file and edit it as needed. Then, add the new config name to
63 the top-level Makefile. Send a patch to the Mesa developers too, if you're
68 BE WARNED:
16 and
32-bit channel support has not been exhaustively
69 tested and there may be some bugs. However, a number of people have
70 been using this feature successfully so it can't be too broken.