《高效学习OpenGL》 之 图像管线 glPixelStore(), glPixelTransfer(),glPixelMapf(),glPixelZoom()

时间:2014-02-26 05:29:26   收藏:0   阅读:451

本文讨论完整的图像管线,像素存储模式和像素传输操作

bubuko.com,布布扣


glCopyPixels()的像素路径:

bubuko.com,布布扣

glBitmap的像素路径:

bubuko.com,布布扣


从纹理内存读取纹理或者把纹理写入到纹理内存时(glTexImage*()、glTexSubImage*())的像素路径:

bubuko.com,布布扣

当像素数据从帧缓存区中复制到纹理内存时(glCopyTexImage*()、glCopyTexSubImage*())的像素路径:

bubuko.com,布布扣



1.像素的包装和解包

包装和解包是指像素数据写入到内存以及从处理器内存读取的方式


2.控制像素的存储模式

   void glPixelStorei (GLenum pname, GLint param);
   //设置像素的存储模式。pname参数可见下表,GL_UNPACK*参数控制数据在内存中是如何由函数解包的
   //GL_PACK*参数控制数据如何包装到内存的

bubuko.com,布布扣


3.像素传输操作

   void glPixelTransferi (GLenum pname, GLint param);
   //设置像素传输模式。pname、param见下表
bubuko.com,布布扣


4.像素映射

   void glPixelMapfv (GLenum map, GLsizei mapsize, const GLfloat *values);
   //加载由map所确定的像素映射表,它有mapsize个项,values表示它们的值。见表
bubuko.com,布布扣


5.放大、缩小和翻转图像

   void glPixelZoom (GLfloat xfactor, GLfloat yfactor);
   //设置图像的写入操作。默认情况下,xfactor、yfactor都是1.0,如果它们都是2.0,
   //那么图像的每个像素被绘制成4个屏幕像素,负的缩放因子执行翻转操作




原文:http://blog.csdn.net/biggbang/article/details/19911181

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!