2011-05-26 85 views
0

出于某种原因,我想直接在屏幕上写入一些像素。例如,是否有任何函数调用接近: glDrawPixels(int x, int y),或者有什么方法可以获取并设置颜色缓冲区? 我可以直接写入OpenGL中的颜色缓冲区吗?

哈哈哈......这很有趣,因为glDrawPixels是我编了一个名字,阅读拉姆亚的答复后,我去了参考,发现他们确实有一个叫glDrawPixels功能,它正是我所需要的。多么讽刺!

+0

为什么?你有任何问题与glDrawPixels和glReadPixels? – 2011-05-26 11:41:13

回答

3

是的,glDrawPixels可以做到这一点,但绘制像素数据很慢,通过绘制纹理四边形来使用纹理。如果你想绘制单独的像素,这将比绘制更大的纹理区域慢很多。

+0

也许我只是好奇,但是如何将像素直接绘制到缓冲区上比创建纹理更慢,将其应用于四边形并将四边形显示在屏幕上? – trVoldemort 2011-05-27 01:36:32

+0

是不是涉及矩阵运算的几何图元绘制?并且有纹理映射计算。 – trVoldemort 2011-05-27 01:48:11

+0

@trVoldemort您必须将每次调用的每个像素从系统RAM复制到GPU RAM,在绘制纹理之前先复制纹理。 – 2011-05-27 03:07:23

相关问题