From fb8b31d3026c9f96acdde8fef9e81d41b9a62215 Mon Sep 17 00:00:00 2001 From: taw27 Date: Fri, 18 Jul 2008 09:42:41 +0000 Subject: Texture loader fussiness Actually use MIPmapping git-svn-id: svn://cook.msm.cam.ac.uk:745/thrust3d/thrust3d@142 84d2e878-0bd5-11dd-ad15-13eda11d74c5 --- src/texture.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/texture.c') diff --git a/src/texture.c b/src/texture.c index 464b057..fcd8659 100644 --- a/src/texture.c +++ b/src/texture.c @@ -44,7 +44,7 @@ void texture_load(RenderContext *ctx, char *name) { fprintf(stderr, "Couldn't open texture file '%s'\n", tmp); return ; } - + /* Check it's actually a PNG file */ header = malloc(8); fread(header, 1, 8, fh); @@ -62,7 +62,7 @@ void texture_load(RenderContext *ctx, char *name) { fclose(fh); return ; } - + info_ptr = png_create_info_struct(png_ptr); if ( !info_ptr ) { png_destroy_read_struct(&png_ptr, (png_infopp)NULL, (png_infopp)NULL); @@ -70,7 +70,7 @@ void texture_load(RenderContext *ctx, char *name) { fclose(fh); return; } - + end_info = png_create_info_struct(png_ptr); if ( !end_info ) { png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL); @@ -85,19 +85,19 @@ void texture_load(RenderContext *ctx, char *name) { fprintf(stderr, "PNG read failed.\n"); return; } - + png_init_io(png_ptr, fh); png_set_sig_bytes(png_ptr, 8); /* Read! */ png_read_png(png_ptr, info_ptr, PNG_TRANSFORM_IDENTITY, NULL); - + width = png_get_image_width(png_ptr, info_ptr); height = png_get_image_height(png_ptr, info_ptr); bit_depth = png_get_bit_depth(png_ptr, info_ptr); channels = png_get_channels(png_ptr, info_ptr); if ( bit_depth != 8 ) { - fprintf(stderr, "Texture image '%s' isn't 8 bits per channel per pixel.\n", tmp); + fprintf(stderr, "Texture image '%s' doesn't have 8 bits per channel per pixel.\n", tmp); png_destroy_read_struct(&png_ptr, &info_ptr, &end_info); fclose(fh); return; @@ -133,7 +133,7 @@ void texture_load(RenderContext *ctx, char *name) { glGenTextures(1, &(ctx->textures[ctx->num_textures].texname)); glBindTexture(GL_TEXTURE_2D, ctx->textures[ctx->num_textures].texname); - glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); -- cgit v1.2.3