小编use*_*267的帖子

如何使用 OpenGL 将像素数组直接绘制到屏幕上?

我想将像素直接写入屏幕(不使用顶点和多边形)。我调查了类似问题的各种答案,最引人注目的是这里这里

我看到有几种方法可以将像素绘制到屏幕上,但它们似乎都是间接的,并且使用了不必要的浮点运算:

  1. GL_POINT为屏幕上的每个像素绘制一个。我试过这个并且它有效,但这似乎是一种在屏幕上绘制像素的低效方法。当我的数据将被转换为像素数据数组时,为什么要以浮点形式写入我的数据。

  2. 创建一个跨越整个屏幕的二维四边形并向其写入纹理。与第一个选项一样,这似乎是将像素放在屏幕上的一种迂回方式。纹理在放到屏幕上之前仍然需要经过光栅化。纹理也必须是方形的,而且大多数屏幕都不是方形的,所以我必须处理这个问题。

如何使用 OpenGL 以最直接、最有效的方式将颜色矩阵(其中pixels[0][0]对应于左上角和pixels[1920][1080]对应于右下角)显示在屏幕上?

直接写入帧缓冲区似乎是最有前途的选择,但我只看到人们使用帧缓冲区进行着色。

opengl graphics drawing image-processing pixels

4
推荐指数
1
解决办法
8293
查看次数

标签 统计

drawing ×1

graphics ×1

image-processing ×1

opengl ×1

pixels ×1