我想将像素直接写入屏幕(不使用顶点和多边形)。我调查了类似问题的各种答案,最值得注意的是这里和这里。
我看到有几种方法可以将像素绘制到屏幕上,但它们似乎都是间接的,并且使用了不必要的浮点运算:
为屏幕上的每个像素绘制一个
GL_POINT
。我已经尝试过了,它可以工作,但这似乎是一种将像素绘制到屏幕上的低效方式。为什么要将我的数据转换为像素数据数组时以浮点形式写入数据。创建一个横跨整个屏幕的 2d 四边形并向其写入纹理。与第一个选项一样,这似乎是一种在屏幕上放置像素的迂回方式。纹理在被放到屏幕上之前仍然需要经过光栅化。纹理也必须是方形的,而且大多数屏幕不是方形的,所以我必须处理这个问题。
如何使用 OpenGL 以最直接和最有效的方式将对应于pixels[0][0]
左上角和右下角的颜色矩阵显示在屏幕上?pixels[1920][1080]
直接写入帧缓冲区似乎是最有希望的选择,但我只看到有人使用帧缓冲区进行着色。