出于某种原因,我想直接在屏幕上写入一些像素。例如,是否有任何函数调用接近:
我可以直接写入OpenGL中的颜色缓冲区吗?glDrawPixels(int x, int y)
,或者有什么方法可以获取并设置颜色缓冲区?
哈哈哈......这很有趣,因为glDrawPixels是我编了一个名字,阅读拉姆亚的答复后,我去了参考,发现他们确实有一个叫glDrawPixels
功能,它正是我所需要的。多么讽刺!
出于某种原因,我想直接在屏幕上写入一些像素。例如,是否有任何函数调用接近:
我可以直接写入OpenGL中的颜色缓冲区吗?glDrawPixels(int x, int y)
,或者有什么方法可以获取并设置颜色缓冲区?
哈哈哈......这很有趣,因为glDrawPixels是我编了一个名字,阅读拉姆亚的答复后,我去了参考,发现他们确实有一个叫glDrawPixels
功能,它正是我所需要的。多么讽刺!
是的,glDrawPixels可以做到这一点,但绘制像素数据很慢,通过绘制纹理四边形来使用纹理。如果你想绘制单独的像素,这将比绘制更大的纹理区域慢很多。
也许我只是好奇,但是如何将像素直接绘制到缓冲区上比创建纹理更慢,将其应用于四边形并将四边形显示在屏幕上? – trVoldemort 2011-05-27 01:36:32
是不是涉及矩阵运算的几何图元绘制?并且有纹理映射计算。 – trVoldemort 2011-05-27 01:48:11
@trVoldemort您必须将每次调用的每个像素从系统RAM复制到GPU RAM,在绘制纹理之前先复制纹理。 – 2011-05-27 03:07:23
为什么?你有任何问题与glDrawPixels和glReadPixels? – 2011-05-26 11:41:13