opengl 像素

编程入门 行业动态 更新时间:2024-10-08 10:53:07
一个一个像素的读写太慢了吧, opengl只支持一堆像素的读写。void glReadPixels();glDrawPixels();当然你用他们来读写一个像素也可以.只不过有点大材小用void glReadPixels(GLint x,GLint y,GLsizesi width,GLsizei height, GLenum format,GLenum type,GLvoid *pixel); 函数参数(x, y)定义图像区域左下角点的坐标,width和height分别是图像的高度和宽度,*pixel是一个指针,指向存储图像数据的数组。参数format指出所读象素数据元素的格式(索引值或R、G、B、A值,如下面表所示),而参数type指出每个元素的数据类型(也见下面表)。 写入象素数据: void glDrawPixels(GLsizesi width,GLsizei height,GLenum format, GLenum type,GLvoid *pixel); 函数参数format和type与glReadPixels()有相同的意义,pixel指向的数组包含所要画的象素数据。注意,调用这个函数前必须先设置当前光栅位置,若当前光栅位置无效,则给出该函数时不画任何图形,并且当前光栅位置仍然保持无效。+++++++++++像素格式表++++++++++++++++++++++GL_INDEX 单个颜色索引 GL_RGB 先是红色分量,再是绿色分量,然后是蓝色分量 GL_RED 单个红色分量 GL_GREEN 单个绿色分量 GL_BLUE 单个蓝色分量 GL_ALPHA 单个Alpha值 GL_LUMINANCE_ALPHA 先是亮度分量,然后是Alpha值 GL_STENCIL_INDEX 单个的模板索引 GL_DEPTH_COMPONENT 单个深度分量 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 数据类型+++++++++++++++++++ GL_UNSIGNED_BYTE 无符号的8位整数 GL_BYTE 8位整数 GL_BITMAP 无符号的8位整数数组中的单个数位 GL_UNSIGNED_SHORT 无符号的16位整数 GL_SHORT 16位整数 GL_UNSIGNED_INT 无符号的32位整数 GL_INT 32位整数 GL_FLOAT 单精度浮点数 +++++++++++++++++++++++++++++++++++++++ 图像的每个元素按上面表给出的数据类型存储。若元素表示连续的值,如红、绿、蓝或亮度分量,每个值都按比例放缩使之适合于可用的位数。例如,红色分量是0.0到1.0之 间的浮点值。若它需要放到无符号单字节整数中,也仅有8位精度保存下来,其他无符号整数类型同理。对于有符号的数据类型还要少一位,例如颜色索引存到有符号的8位整数中,它的第一位被0xfe屏蔽掉了(即这个掩码包含7个1)。若类型是GL_FLOAT,索引值简单地转化成单精度浮点值,例如索引17转化成17.0,同理。
  建议你检查一下glReadPixels的返回值 你给的代码比较少,没办法保证前面的代码没问题 int ret=glGetError(); cout
  switch(format)?{case?gl_bgr:case?gl_rgb:????components?=?3;?break;case?gl_bgra:case?gl_rgba:????components?=?4;?break;case?gl_alpha:case?gl_luminance:????components?=?1;?break;}glubyte?*data?=?malloc(components?*?width?*?height);if(?data?)?{????glreadpixels(0,?0,?width,?height,?format,?gl_unsigned_byte,?data);}stackoverflow的例子,怎么判断是否红色和format有关,比如你用的gl_rgb, 那么就是每个像素的第一个字节是ff,另外的两个字节都是0
  • 0
  • 0
  • 0
  • 0
  • 0

更多推荐

opengl 像素

本文发布于:2023-06-02 01:31:15,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/431004.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:像素   opengl

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!