Revision: 16704 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16704 Author: campbellbarton Date: 2008-09-23 17:21:14 +0200 (Tue, 23 Sep 2008)
Log Message: ----------- disable magnification filtering when mipmap is off. useful for texture low poly models. Modified Paths: -------------- trunk/blender/source/blender/gpu/intern/gpu_draw.c Modified: trunk/blender/source/blender/gpu/intern/gpu_draw.c =================================================================== --- trunk/blender/source/blender/gpu/intern/gpu_draw.c 2008-09-23 14:32:14 UTC (rev 16703) +++ trunk/blender/source/blender/gpu/intern/gpu_draw.c 2008-09-23 15:21:14 UTC (rev 16704) @@ -222,7 +222,10 @@ static GLenum gpu_get_mipmap_filter() { - return GTS.linearmipmap? GL_LINEAR_MIPMAP_LINEAR: GL_LINEAR_MIPMAP_NEAREST; + /* linearmipmap is off by default + * when mipmapping is off, use unfiltered display */ + return GTS.linearmipmap? GL_LINEAR_MIPMAP_LINEAR : + (GTS.domipmap ? GL_LINEAR_MIPMAP_NEAREST : GL_NEAREST); } /* Set OpenGL state for an MTFace */ @@ -474,12 +477,12 @@ if (!gpu_get_mipmap()) { glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, rectw, recth, 0, GL_RGBA, GL_UNSIGNED_BYTE, rect); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, gpu_get_mipmap_filter()); } else { gluBuild2DMipmaps(GL_TEXTURE_2D, GL_RGBA, rectw, recth, GL_RGBA, GL_UNSIGNED_BYTE, rect); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, gpu_get_mipmap_filter()); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, gpu_get_mipmap_filter()); ima->tpageflag |= IMA_MIPMAP_COMPLETE; } @@ -572,7 +575,7 @@ if(ima->tpageflag & IMA_MIPMAP_COMPLETE) { glBindTexture(GL_TEXTURE_2D, ima->bindcode); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, gpu_get_mipmap_filter()); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, gpu_get_mipmap_filter()); } else GPU_free_image(ima); @@ -585,7 +588,7 @@ if(ima->bindcode) { glBindTexture(GL_TEXTURE_2D, ima->bindcode); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, gpu_get_mipmap_filter()); } } } _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs