我有一个简单的GLSL纹理渲染器:
顶点着色器:
varying vec2 UV;
void main() {
UV = gl_MultiTexCoord0.xy;
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
}片段着色器:
varying vec2 UV;
uniform sampler2D diffuseMap;
void main(void) {
gl_FragColor = texture2D(diffuseMap, UV);
}我的纹理是纯色的。我需要在没有任何插值或抗锯齿的情况下渲染这个纹理(这似乎发生在纯色的边缘)。对我来说,最好只取最近的像素,而不是尝试插值。
我不确定我说得够清楚了。想象一下:我想要纹理一个带有国际象棋图案的球,我想要的结果是纯黑白的。但是渲染会在黑色和白色的交汇处产生一点灰色。
发布于 2013-07-10 16:45:29
将GL_TEXTURE_MIN_FILTER和GL_TEXTURE_MAX_FILTER设置为GL_NEAREST,并确保没有mipmap。
https://stackoverflow.com/questions/17560335
复制相似问题