在 OpenGL 1.x 中,您可以简单地将纹理附加到四边形顶点以显示图像,使用线性放大镜参数,您可以将纹理拉伸或最小化到以像素为单位的边角大小,而不会“看到”它变得“像素化” .
在 OpenGL es 2.0 中有另一种渲染方法:使用顶点和片段着色器。因此,您只需将纹理(图像)渲染到屏幕上,就需要为其编写自己的片段着色器-例如:
uniform sampler2D texture;
varying vec2 point; // coming from the vertex
void main () {
gl_fragColor(texture2D(texture, point));
}
这里的问题是发生的放大镜类型是 NEAREST 类型。它采用变量“point”指向的最近像素的值。
我需要一个线性放大镜。
我的问题是:我如何在代码方面实现这样的事情?还是我从一开始就做错了什么?
根本没有片段着色器的预设可用于这种类型的事情。