Selaa lähdekoodia

Use OSMesaCreateContextExt() if using Mesa 3.5 or later

tags/mesa_3_5
Brian Paul 25 vuotta sitten
vanhempi
commit
46dbaec56a
1 muutettua tiedostoa jossa 25 lisäystä ja 2 poistoa
  1. 25
    2
      progs/demos/osdemo.c

+ 25
- 2
progs/demos/osdemo.c Näytä tiedosto

@@ -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
@@ -223,15 +223,38 @@ write_ppm(const char *filename, const GLubyte *buffer, int width, int height)

int main( int argc, char *argv[] )
{
void *buffer;

/* 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 );
#endif
if (!ctx) {
printf("OSMesaCreateContext failed!\n");
return 0;
}

/* 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 */
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();

if (argc>1) {

Loading…
Peruuta
Tallenna