Use OSMesaCreateContextExt() if using Mesa 3.5 or later
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: osdemo.c,v 1.4 2000/03/28 16:59:39 rjfrank Exp $ */
|
/* $Id: osdemo.c,v 1.5 2000/09/08 16:42:06 brianp Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Demo of off-screen Mesa rendering
|
* Demo of off-screen Mesa rendering
|
||||||
@@ -223,15 +223,38 @@ write_ppm(const char *filename, const GLubyte *buffer, int width, int height)
|
|||||||
|
|
||||||
int main( int argc, char *argv[] )
|
int main( int argc, char *argv[] )
|
||||||
{
|
{
|
||||||
|
void *buffer;
|
||||||
|
|
||||||
/* Create an RGBA-mode context */
|
/* Create an RGBA-mode context */
|
||||||
|
#if OSMESA_MAJOR_VERSION * 100 + OSMESA_MINOR_VERSION >= 305
|
||||||
|
/* specify Z, stencil, accum sizes */
|
||||||
|
OSMesaContext ctx = OSMesaCreateContextExt( GL_RGBA, 16, 0, 0, NULL );
|
||||||
|
#else
|
||||||
OSMesaContext ctx = OSMesaCreateContext( GL_RGBA, NULL );
|
OSMesaContext ctx = OSMesaCreateContext( GL_RGBA, NULL );
|
||||||
|
#endif
|
||||||
|
if (!ctx) {
|
||||||
|
printf("OSMesaCreateContext failed!\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* Allocate the image buffer */
|
/* Allocate the image buffer */
|
||||||
void *buffer = malloc( WIDTH * HEIGHT * 4 );
|
buffer = malloc( WIDTH * HEIGHT * 4 );
|
||||||
|
if (!buffer) {
|
||||||
|
printf("Alloc image buffer failed!\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* Bind the buffer to the context and make it current */
|
/* Bind the buffer to the context and make it current */
|
||||||
OSMesaMakeCurrent( ctx, buffer, GL_UNSIGNED_BYTE, WIDTH, HEIGHT );
|
OSMesaMakeCurrent( ctx, buffer, GL_UNSIGNED_BYTE, WIDTH, HEIGHT );
|
||||||
|
|
||||||
|
{
|
||||||
|
int z, s, a;
|
||||||
|
glGetIntegerv(GL_DEPTH_BITS, &z);
|
||||||
|
glGetIntegerv(GL_STENCIL_BITS, &s);
|
||||||
|
glGetIntegerv(GL_ACCUM_RED_BITS, &a);
|
||||||
|
printf("%d %d %d\n", z, s, a);
|
||||||
|
}
|
||||||
|
|
||||||
render_image();
|
render_image();
|
||||||
|
|
||||||
if (argc>1) {
|
if (argc>1) {
|
||||||
|
Reference in New Issue
Block a user