summaryrefslogtreecommitdiffstats
path: root/progs/demos
diff options
context:
space:
mode:
Diffstat (limited to 'progs/demos')
-rw-r--r--progs/demos/cubemap.c17
-rw-r--r--progs/demos/isosurf.c4
-rw-r--r--progs/demos/pointblast.c4
-rw-r--r--progs/demos/spriteblast.c4
-rw-r--r--progs/demos/vao_demo.c2
5 files changed, 21 insertions, 10 deletions
diff --git a/progs/demos/cubemap.c b/progs/demos/cubemap.c
index 26db42aed5e..1f9f2905759 100644
--- a/progs/demos/cubemap.c
+++ b/progs/demos/cubemap.c
@@ -52,6 +52,7 @@ static GLboolean NoClear = GL_FALSE;
static GLint FrameParity = 0;
static GLenum FilterIndex = 0;
static GLint ClampIndex = 0;
+static GLboolean supportFBO = GL_FALSE;
static struct {
@@ -403,6 +404,10 @@ static void init_checkers( void )
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
+ if (!supportFBO)
+ glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_GENERATE_MIPMAP_SGIS, GL_TRUE);
+
+
/* make colored checkerboard cube faces */
for (f = 0; f < 6; f++) {
for (i = 0; i < CUBE_TEX_SIZE; i++) {
@@ -426,7 +431,8 @@ static void init_checkers( void )
GL_BGRA, GL_UNSIGNED_BYTE, image);
}
- glGenerateMipmapEXT(GL_TEXTURE_CUBE_MAP_ARB);
+ if (supportFBO)
+ glGenerateMipmapEXT(GL_TEXTURE_CUBE_MAP_ARB);
}
@@ -503,10 +509,13 @@ static void init( GLboolean useImageFiles )
exit(0);
}
- /* Needed for glGenerateMipmapEXT
+ /* Needed for glGenerateMipmapEXT / auto mipmapping
*/
- if (!strstr(exten, "GL_EXT_framebuffer_object")) {
- printf("Sorry, this demo requires GL_EXT_framebuffer_object\n");
+ if (strstr(exten, "GL_EXT_framebuffer_object")) {
+ supportFBO = GL_TRUE;
+ }
+ else if (!strstr(exten, "GL_SGIS_generate_mipmap")) {
+ printf("Sorry, this demo requires GL_EXT_framebuffer_object or GL_SGIS_generate_mipmap\n");
exit(0);
}
}
diff --git a/progs/demos/isosurf.c b/progs/demos/isosurf.c
index 6923ca2bba8..2e9dff17261 100644
--- a/progs/demos/isosurf.c
+++ b/progs/demos/isosurf.c
@@ -847,8 +847,8 @@ static void Init(int argc, char *argv[])
glClearColor(0.0, 0.0, 1.0, 0.0);
glEnable( GL_DEPTH_TEST );
- glEnable( GL_VERTEX_ARRAY_EXT );
- glEnable( GL_NORMAL_ARRAY_EXT );
+ glEnableClientState( GL_VERTEX_ARRAY );
+ glEnableClientState( GL_NORMAL_ARRAY );
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
diff --git a/progs/demos/pointblast.c b/progs/demos/pointblast.c
index 2a91b76ad32..2d70b725894 100644
--- a/progs/demos/pointblast.c
+++ b/progs/demos/pointblast.c
@@ -194,11 +194,11 @@ redraw(void)
{
int i;
+ glDepthMask(GL_TRUE);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
if (newModel)
recalcModelView();
- glDepthMask(GL_FALSE);
/* Draw the floor. */
/* glEnable(GL_TEXTURE_2D);*/
@@ -215,7 +215,7 @@ redraw(void)
glEnd();
/* Allow particles to blend with each other. */
- glDepthMask(GL_TRUE);
+ glDepthMask(GL_FALSE);
if (blend)
glEnable(GL_BLEND);
diff --git a/progs/demos/spriteblast.c b/progs/demos/spriteblast.c
index f6630c25d07..d73b680b791 100644
--- a/progs/demos/spriteblast.c
+++ b/progs/demos/spriteblast.c
@@ -209,13 +209,13 @@ redraw(void)
{
int i;
+ glDepthMask(GL_TRUE);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glRotatef(15.0, 1.0, 0.0, 0.0);
glRotatef(angle, 0.0, 1.0, 0.0);
- glDepthMask(GL_FALSE);
/* Draw the floor. */
/* glEnable(GL_TEXTURE_2D);*/
@@ -232,7 +232,7 @@ redraw(void)
glEnd();
/* Allow particles to blend with each other. */
- glDepthMask(GL_TRUE);
+ glDepthMask(GL_FALSE);
if (blend)
glEnable(GL_BLEND);
diff --git a/progs/demos/vao_demo.c b/progs/demos/vao_demo.c
index ce416712fe2..206e06fc6c7 100644
--- a/progs/demos/vao_demo.c
+++ b/progs/demos/vao_demo.c
@@ -260,6 +260,8 @@ static void Key( unsigned char key, int x, int y )
(void) y;
switch (key) {
case 27:
+ (*delete_vertex_arrays)( 1, & cube_array_obj );
+ (*delete_vertex_arrays)( 1, & oct_array_obj );
glutDestroyWindow(Win);
exit(0);
break;