diff options
Diffstat (limited to 'progs/demos')
-rw-r--r-- | progs/demos/Makefile.X11 | 5 | ||||
-rw-r--r-- | progs/demos/anisotropic.c | 220 |
2 files changed, 2 insertions, 223 deletions
diff --git a/progs/demos/Makefile.X11 b/progs/demos/Makefile.X11 index 13c71a0b55..a388626e38 100644 --- a/progs/demos/Makefile.X11 +++ b/progs/demos/Makefile.X11 @@ -1,4 +1,4 @@ -# $Id: Makefile.X11,v 1.19 2001/03/27 17:44:35 brianp Exp $ +# $Id: Makefile.X11,v 1.20 2001/08/21 05:42:11 gareth Exp $ # Mesa 3-D graphics library # Version: 3.5 @@ -18,8 +18,7 @@ OSMESA_LIBS = -L$(LIBDIR) -lglut -lOSMesa -lGLU -lGL $(APP_LIB_DEPS) LIB_DEP = $(LIBDIR)/$(GL_LIB) $(LIBDIR)/$(GLU_LIB) $(LIBDIR)/$(GLUT_LIB) -PROGS = anisotropic \ - bounce \ +PROGS = bounce \ clearspd \ cubemap \ drawpix \ diff --git a/progs/demos/anisotropic.c b/progs/demos/anisotropic.c deleted file mode 100644 index 9f67c2dbff..0000000000 --- a/progs/demos/anisotropic.c +++ /dev/null @@ -1,220 +0,0 @@ -/* $Id: anisotropic.c,v 1.1 2001/03/22 15:24:15 gareth Exp $ */ - -/* - * GL_ARB_texture_filter_anisotropic demo - * - * Gareth Hughes - * March 2001 - * - * Copyright (C) 2000 Brian Paul All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -/* This is a fairly early version. All it does is draw a couple of - * textured quads with different forms of texture filtering. Eventually, - * you'll be able to adjust the maximum anisotropy and so on. - */ - -#include <math.h> -#include <stdio.h> -#include <stdlib.h> -#include <GL/glut.h> - -#define TEXTURE_SIZE 256 -static GLubyte image[TEXTURE_SIZE][TEXTURE_SIZE][3]; - -static GLfloat repeat = 1.0; - -static GLfloat texcoords[] = { - 0.0, 0.0, - 0.0, 1.0, - 1.0, 0.0, - 1.0, 1.0 -}; - -static GLfloat vertices[] = { - -400.0, -400.0, 0.0, - -400.0, 400.0, -7000.0, - 400.0, -400.0, 0.0, - 400.0, 400.0, -7000.0 -}; - -static GLfloat maxAnisotropy; - - -static void init( void ) -{ - int i, j; - - if ( !glutExtensionSupported( "GL_EXT_texture_filter_anisotropic" ) ) { - fprintf( stderr, "Sorry, this demo requires GL_EXT_texture_filter_anisotropic.\n" ); - exit( 0 ); - } - - glClearColor( 0.0, 0.0, 0.0, 0.0 ); - glShadeModel( GL_SMOOTH ); - - /* Init the vertex arrays. - */ - glEnableClientState( GL_VERTEX_ARRAY ); - glEnableClientState( GL_TEXTURE_COORD_ARRAY ); - - glVertexPointer( 3, GL_FLOAT, 0, vertices ); - glTexCoordPointer( 2, GL_FLOAT, 0, texcoords ); - - /* Init the texture environment. - */ - glEnable( GL_TEXTURE_2D ); - glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE ); - - glMatrixMode( GL_TEXTURE ); - glScalef( repeat, repeat, 0 ); - - glMatrixMode( GL_MODELVIEW ); - - glGetFloatv( GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &maxAnisotropy ); - printf( "Maximum supported anisotropy: %.2f\n", maxAnisotropy ); - - /* Make the texture image. - */ - glPixelStorei( GL_UNPACK_ALIGNMENT, 1 ); - - for ( i = 0 ; i < TEXTURE_SIZE ; i++ ) { - for ( j = 0 ; j < TEXTURE_SIZE ; j++ ) { - if ( (i/4 + j/4) & 1 ) { - image[i][j][0] = 0; - image[i][j][1] = 0; - image[i][j][2] = 0; - } else { - image[i][j][0] = 255; - image[i][j][1] = 255; - image[i][j][2] = 255; - } - } - } - - gluBuild2DMipmaps( GL_TEXTURE_2D, GL_RGB, TEXTURE_SIZE, TEXTURE_SIZE, - GL_RGB, GL_UNSIGNED_BYTE, image ); -} - -static void display( void ) -{ - GLint vp[4], w, h; - - glClear( GL_COLOR_BUFFER_BIT ); - - glGetIntegerv( GL_VIEWPORT, vp ); - w = vp[2] / 2; - h = vp[3] / 2; - - /* Upper left corner: - */ - glViewport( 1, h + 1, w - 2, h - 2 ); - - glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, maxAnisotropy ); - - glDrawArrays( GL_TRIANGLE_STRIP, 0, 4 ); - - - /* Upper right corner: - */ - glViewport( w + 1, h + 1, w - 2, h - 2 ); - - glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST ); - glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, maxAnisotropy ); - - glDrawArrays( GL_TRIANGLE_STRIP, 0, 4 ); - - - /* Lower left corner: - */ - glViewport( 1, 1, w - 2, h - 2 ); - - glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_LINEAR ); - glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, maxAnisotropy ); - - glDrawArrays( GL_TRIANGLE_STRIP, 0, 4 ); - - - /* Lower right corner: - */ - glViewport( w + 1, 1, w - 2, h - 2 ); - - glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR ); - glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, maxAnisotropy ); - - glDrawArrays( GL_TRIANGLE_STRIP, 0, 4 ); - - - glViewport( vp[0], vp[1], vp[2], vp[3] ); - - glutSwapBuffers(); -} - -static void reshape( int w, int h ) -{ - glViewport( 0, 0, (GLsizei) w, (GLsizei) h ); - - glMatrixMode( GL_PROJECTION ); - glLoadIdentity(); - glFrustum( -1.0, 1.0, -1.0, 1.0, 10.0, 10000.0 ); - - glMatrixMode( GL_MODELVIEW ); - glLoadIdentity(); - glTranslatef( 0.0, 0.0, -10.0 ); -} - -static void key( unsigned char key, int x, int y ) -{ - (void) x; (void) y; - - switch ( key ) { - case 27: - exit( 0 ); - } - - glutPostRedisplay(); -} - -static void usage( void ) -{ - /* Nothing yet... */ -} - -int main( int argc, char **argv ) -{ - glutInit( &argc, argv ); - glutInitDisplayMode( GLUT_DOUBLE | GLUT_RGB ); - glutInitWindowSize( 600, 300 ); - glutInitWindowPosition( 0, 0 ); - glutCreateWindow( "Anisotropic Texture Filter Demo" ); - - init(); - - glutDisplayFunc( display ); - glutReshapeFunc( reshape ); - glutKeyboardFunc( key ); - - usage(); - - glutMainLoop(); - - return 0; -} |