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