繁体   English   中英

GLSL渲染纯像素,无需插值或抗锯齿

[英]GLSL render solid pixels, without interpolation.or antialiasing

我有一个简单的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);
}

而且我有纯色的质地。 我需要在没有任何插值或抗锯齿的情况下渲染此纹理(这似乎发生在纯色的边缘)。 对我来说,最好只取最近的像素,而不要尝试插值。

我不确定我是否清楚。 想象一下:我想用国际象棋图案构造一个球,我希望结果是纯黑白的。 但是渲染的图像在黑白相遇的地方会产生一点灰色。

将GL_TEXTURE_MIN_FILTER和GL_TEXTURE_MAX_FILTER设置为GL_NEAREST,并确保没有mipmap。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM