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
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs